common/Command.proto (108 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ syntax = "proto3"; package skywalking.v3; option java_multiple_files = true; option java_package = "org.apache.skywalking.apm.network.common.v3"; option csharp_namespace = "SkyWalking.NetworkProtocol.V3"; option go_package = "skywalking.apache.org/repo/goapi/collect/common/v3"; import "common/Common.proto"; // Command represents an protocol customized data when return. // // When the agent communicates with the OAP side using gRPC, the OAP uses Command to return the data content to the Agent. // // The available commands are, // Name: ConfigurationDiscoveryCommand // Args: // SerialNumber: String // UUID: String // properties: Key-value pairs rely on agent-side implementations // // Ref, Java agent supported configurations, https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/configuration-discovery/ // // Name: ProfileTaskQuery // Args: // SerialNumber: String // TaskId: String // EndpointName: String // Duration: Integer // MinDurationThreshold: Integer // DumpPeriod: Integer // MaxSamplingCount: Integer // StartTime: Date Timestamp // CreateTime: Date Timestamp // // Name: EBPFProfilingTaskQuery // Args: // TaskId: String // ProcessId: Integer List // TaskUpdateTime: Date timestamp // TriggerType: Enum, value = FIXED_TIME // TargetType: Enum, value = ON_CPU, OFF_CPU or NETWORK // TaskStartTime: Date Timestamp // ExtensionConfigJSON: JSON serialization of NetworkSamplings. // --- NetworkSamplings --- // NetworkSamplings: List // URIRegex: String // MinDuration: Integer // When4xx: Boolean // When5xx: Boolean // Settings: Object // RequireCompleteRequest: Boolean // MaxRequestSize: Integer // RequireCompleteResponse: Boolean // MaxResponseSize: Integer // ------------------------ // FixedTriggerDuration: Long // // Name: ContinuousProfilingPolicyQuery // Args: // ServiceWithPolicyJSON: List JSON serialization of ServiceWithPolicy. // --- ServiceWithPolicy --- // ServiceName: String // UUID: String // Profiling: Multiple profiling configuration. Map // Key: Profiling type. Enum, value = ON_CPU, OFF_CPU, NETWORK // Value: Profiling policies. Map // Key: Monitoring type. Enum, value = PROCESS_CPU, PROCESS_THREAD_COUNT, SYSTEM_LOAD, HTTP_ERROR_RATE, HTTP_AVG_RESPONSE_TIME // Value: Policy configuration. Object. // Threshold: String // Period(s): Integer // Count: Integer // URIList: List<String> // URIRegex: String // --------------------------- // // Name: ContinuousProfilingReportTask // Args: // TaskId: String message Command { // Use command name to distinguish different data type. string command = 1; // Data content in command. // The value of content needs to be serialized as string for transmission. // // Basic data type: convert as string. // The list of basic data: multiple data are split by ",". // Complex data: serialize string through json. repeated KeyStringValuePair args = 2; } // Transferring multiple Command in agent and OAP. message Commands { repeated Command commands = 1; }