You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/12/17 12:24:28 UTC
[skywalking-data-collect-protocol] branch master updated: Add
package name in proto message and compat service (#37)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-data-collect-protocol.git
The following commit(s) were added to refs/heads/master by this push:
new 8c10f75 Add package name in proto message and compat service (#37)
8c10f75 is described below
commit 8c10f757a9088fef06d6d8b986b8a0650b7fa106
Author: Zhenxu Ke <ke...@apache.org>
AuthorDate: Thu Dec 17 20:24:22 2020 +0800
Add package name in proto message and compat service (#37)
* Add package name in proto message and compat service
* update submodule to sync namespaced proto files
---
browser/BrowserPerf.proto | 2 +
.../BrowserPerfCompat.proto | 40 +++++-------------
common/Common.proto | 2 +
language-agent/CLRMetric.proto | 4 +-
.../{CLRMetric.proto => CLRMetricCompat.proto} | 33 ++-------------
language-agent/JVMMetric.proto | 2 +
.../{CLRMetric.proto => JVMMetricCompat.proto} | 36 +++--------------
language-agent/Meter.proto | 4 +-
.../MeterCompat.proto | 36 ++++-------------
language-agent/Tracing.proto | 24 ++++++-----
.../{CLRMetric.proto => TracingCompat.proto} | 47 ++++++++--------------
logging/Logging.proto | 2 +
management/Management.proto | 4 +-
.../{Management.proto => ManagementCompat.proto} | 19 +++------
profile/Profile.proto | 4 +-
.../CLRMetric.proto => profile/ProfileCompat.proto | 42 +++++++------------
.../service-mesh-compat.proto | 35 ++++------------
service-mesh-probe/service-mesh.proto | 2 +
18 files changed, 108 insertions(+), 230 deletions(-)
diff --git a/browser/BrowserPerf.proto b/browser/BrowserPerf.proto
index eea162d..6660558 100644
--- a/browser/BrowserPerf.proto
+++ b/browser/BrowserPerf.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
diff --git a/language-agent/CLRMetric.proto b/browser/BrowserPerfCompat.proto
similarity index 62%
copy from language-agent/CLRMetric.proto
copy to browser/BrowserPerfCompat.proto
index 6082f8c..7a9d863 100644
--- a/language-agent/CLRMetric.proto
+++ b/browser/BrowserPerfCompat.proto
@@ -19,40 +19,22 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
+option java_package = "org.apache.skywalking.apm.network.language.agent.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
option go_package = "skywalking/network/language/agent/v3";
+option deprecated = true;
import "common/Common.proto";
+import "browser/BrowserPerf.proto";
-service CLRMetricReportService {
- rpc collect (CLRMetricCollection) returns (Commands) {
- }
-}
-
-message CLRMetricCollection {
- repeated CLRMetric metrics = 1;
- string service = 2;
- string serviceInstance = 3;
-}
+// Collect performance raw data from browser.
+service BrowserPerfService {
-message CLRMetric {
- int64 time = 1;
- CPU cpu = 2;
- ClrGC gc = 3;
- ClrThread thread = 4;
-}
+ // report once per page
+ rpc collectPerfData (skywalking.v3.BrowserPerfData) returns (skywalking.v3.Commands) {
+ }
-message ClrGC {
- int64 Gen0CollectCount = 1;
- int64 Gen1CollectCount = 2;
- int64 Gen2CollectCount = 3;
- int64 HeapMemory = 4;
+ // report one or more error logs for pages, could report multiple times.
+ rpc collectErrorLogs (stream skywalking.v3.BrowserErrorLog) returns (skywalking.v3.Commands) {
+ }
}
-
-message ClrThread {
- int32 AvailableCompletionPortThreads = 1;
- int32 AvailableWorkerThreads = 2;
- int32 MaxCompletionPortThreads = 3;
- int32 MaxWorkerThreads = 4;
-}
\ No newline at end of file
diff --git a/common/Common.proto b/common/Common.proto
index 807ecdf..09c50d4 100644
--- a/common/Common.proto
+++ b/common/Common.proto
@@ -18,6 +18,8 @@
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";
diff --git a/language-agent/CLRMetric.proto b/language-agent/CLRMetric.proto
index 6082f8c..a719fb8 100644
--- a/language-agent/CLRMetric.proto
+++ b/language-agent/CLRMetric.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
@@ -55,4 +57,4 @@ message ClrThread {
int32 AvailableWorkerThreads = 2;
int32 MaxCompletionPortThreads = 3;
int32 MaxWorkerThreads = 4;
-}
\ No newline at end of file
+}
diff --git a/language-agent/CLRMetric.proto b/language-agent/CLRMetricCompat.proto
similarity index 64%
copy from language-agent/CLRMetric.proto
copy to language-agent/CLRMetricCompat.proto
index 6082f8c..ac7bc62 100644
--- a/language-agent/CLRMetric.proto
+++ b/language-agent/CLRMetricCompat.proto
@@ -19,40 +19,15 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
+option java_package = "org.apache.skywalking.apm.network.language.agent.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
option go_package = "skywalking/network/language/agent/v3";
+option deprecated = true;
import "common/Common.proto";
+import "language-agent/CLRMetric.proto";
service CLRMetricReportService {
- rpc collect (CLRMetricCollection) returns (Commands) {
+ rpc collect (skywalking.v3.CLRMetricCollection) returns (skywalking.v3.Commands) {
}
}
-
-message CLRMetricCollection {
- repeated CLRMetric metrics = 1;
- string service = 2;
- string serviceInstance = 3;
-}
-
-message CLRMetric {
- int64 time = 1;
- CPU cpu = 2;
- ClrGC gc = 3;
- ClrThread thread = 4;
-}
-
-message ClrGC {
- int64 Gen0CollectCount = 1;
- int64 Gen1CollectCount = 2;
- int64 Gen2CollectCount = 3;
- int64 HeapMemory = 4;
-}
-
-message ClrThread {
- int32 AvailableCompletionPortThreads = 1;
- int32 AvailableWorkerThreads = 2;
- int32 MaxCompletionPortThreads = 3;
- int32 MaxWorkerThreads = 4;
-}
\ No newline at end of file
diff --git a/language-agent/JVMMetric.proto b/language-agent/JVMMetric.proto
index 0de1477..ec776fc 100644
--- a/language-agent/JVMMetric.proto
+++ b/language-agent/JVMMetric.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
diff --git a/language-agent/CLRMetric.proto b/language-agent/JVMMetricCompat.proto
similarity index 62%
copy from language-agent/CLRMetric.proto
copy to language-agent/JVMMetricCompat.proto
index 6082f8c..3c60f6a 100644
--- a/language-agent/CLRMetric.proto
+++ b/language-agent/JVMMetricCompat.proto
@@ -19,40 +19,16 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
+option java_package = "org.apache.skywalking.apm.network.language.agent.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
option go_package = "skywalking/network/language/agent/v3";
+option deprecated = true;
import "common/Common.proto";
+import "language-agent/JVMMetric.proto";
-service CLRMetricReportService {
- rpc collect (CLRMetricCollection) returns (Commands) {
+// Define the JVM metrics report service.
+service JVMMetricReportService {
+ rpc collect (skywalking.v3.JVMMetricCollection) returns (skywalking.v3.Commands) {
}
}
-
-message CLRMetricCollection {
- repeated CLRMetric metrics = 1;
- string service = 2;
- string serviceInstance = 3;
-}
-
-message CLRMetric {
- int64 time = 1;
- CPU cpu = 2;
- ClrGC gc = 3;
- ClrThread thread = 4;
-}
-
-message ClrGC {
- int64 Gen0CollectCount = 1;
- int64 Gen1CollectCount = 2;
- int64 Gen2CollectCount = 3;
- int64 HeapMemory = 4;
-}
-
-message ClrThread {
- int32 AvailableCompletionPortThreads = 1;
- int32 AvailableWorkerThreads = 2;
- int32 MaxCompletionPortThreads = 3;
- int32 MaxWorkerThreads = 4;
-}
\ No newline at end of file
diff --git a/language-agent/Meter.proto b/language-agent/Meter.proto
index 1f34354..337b18e 100644
--- a/language-agent/Meter.proto
+++ b/language-agent/Meter.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
option go_package = "skywalking/network/language/agent/v3";
@@ -83,4 +85,4 @@ message MeterData {
message MeterDataCollection {
repeated MeterData meterData = 1;
-}
\ No newline at end of file
+}
diff --git a/common/Common.proto b/language-agent/MeterCompat.proto
similarity index 56%
copy from common/Common.proto
copy to language-agent/MeterCompat.proto
index 807ecdf..894e1f2 100644
--- a/common/Common.proto
+++ b/language-agent/MeterCompat.proto
@@ -19,34 +19,14 @@
syntax = "proto3";
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/network/common/v3";
+option java_package = "org.apache.skywalking.apm.network.language.agent.v3.compat";
+option deprecated = true;
-message KeyStringValuePair {
- string key = 1;
- string value = 2;
-}
-
-message CPU {
- double usagePercent = 2;
-}
-
-// In most cases, detect point should be `server` or `client`.
-// Even in service mesh, this means `server`/`client` side sidecar
-// `proxy` is reserved only.
-enum DetectPoint {
- client = 0;
- server = 1;
- proxy = 2;
-}
-
-message Commands {
- repeated Command commands = 1;
-}
+import "common/Common.proto";
+import "language-agent/Meter.proto";
-message Command {
- string command = 1;
- repeated KeyStringValuePair args = 2;
+service MeterReportService {
+ // Meter data is reported in a certain period. The agent/SDK should report all collected metrics in this period through one stream.
+ rpc collect (stream skywalking.v3.MeterData) returns (skywalking.v3.Commands) {
+ }
}
-
diff --git a/language-agent/Tracing.proto b/language-agent/Tracing.proto
index 8f123b1..79af24f 100644
--- a/language-agent/Tracing.proto
+++ b/language-agent/Tracing.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
@@ -44,7 +46,7 @@ service TraceSegmentReportService {
// The segment is a collection of spans. It includes all collected spans in a simple one request context, such as a HTTP request process.
//
-// We recommend the agent/SDK report all tracked data of one request once for all, such as,
+// We recommend the agent/SDK report all tracked data of one request once for all, such as,
// typically, such as in Java, one segment represent all tracked operations(spans) of one request context in the same thread.
// At the same time, in some language there is not a clear concept like golang, it could represent all tracked operations of one request context.
message SegmentObject {
@@ -55,11 +57,11 @@ message SegmentObject {
// Span collections included in this segment.
repeated SpanObject spans = 3;
// **Service**. Represents a set/group of workloads which provide the same behaviours for incoming requests.
- //
+ //
// The logic name represents the service. This would show as a separate node in the topology.
// The metrics analyzed from the spans, would be aggregated for this entity as the service level.
string service = 4;
- // **Service Instance**. Each individual workload in the Service group is known as an instance. Like `pods` in Kubernetes, it
+ // **Service Instance**. Each individual workload in the Service group is known as an instance. Like `pods` in Kubernetes, it
// doesn't need to be a single OS process, however, if you are using instrument agents, an instance is actually a real OS process.
//
// The logic name represents the service instance. This would show as a separate node in the instance relationship.
@@ -67,7 +69,7 @@ message SegmentObject {
string serviceInstance = 5;
// Whether the segment includes all tracked spans.
// In the production environment tracked, some tasks could include too many spans for one request context, such as a batch update for a cache, or an async job.
- // The agent/SDK could optimize or ignore some tracked spans for better performance.
+ // The agent/SDK could optimize or ignore some tracked spans for better performance.
// In this case, the value should be flagged as TRUE.
bool isSizeLimited = 6;
}
@@ -84,10 +86,10 @@ message SegmentReference {
string parentTraceSegmentId = 3;
// The span id in the parent trace segment.
int32 parentSpanId = 4;
- // The service logic name of the parent segment.
+ // The service logic name of the parent segment.
// If refType == CrossThread, this name is as same as the trace segment.
string parentService = 5;
- // The service logic name instance of the parent segment.
+ // The service logic name instance of the parent segment.
// If refType == CrossThread, this name is as same as the trace segment.
string parentServiceInstance = 6;
// The endpoint name of the parent segment.
@@ -120,7 +122,7 @@ message SpanObject {
// End timestamp in milliseconds of this span,
// measured between the current time and midnight, January 1, 1970 UTC.
int64 endTime = 4;
- // <Optional>
+ // <Optional>
// In the across thread and across process, these references targeting the parent segments.
// The references usually have only one element, but in batch consumer case, such as in MQ or async batch process, it could be multiple.
repeated SegmentReference refs = 5;
@@ -129,7 +131,7 @@ message SpanObject {
// We don't recommend to include the parameter, such as HTTP request parameters, as a part of the operation, especially this is the name of the entry span.
// All statistic for the endpoints are aggregated base on this name. Those parameters should be added in the tags if necessary.
// If in some cases, it have to be a part of the operation name,
- // users should use the Group Parameterized Endpoints capability at the backend to get the meaningful metrics.
+ // users should use the Group Parameterized Endpoints capability at the backend to get the meaningful metrics.
// Read https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/endpoint-grouping-rules.md
string operationName = 6;
// Remote address of the peer in RPC/MQ case.
@@ -162,7 +164,7 @@ message SpanObject {
repeated Log logs = 13;
// Force the backend don't do analysis, if the value is TRUE.
// The backend has its own configurations to follow or override this.
- //
+ //
// Use this mostly because the agent/SDK could know more context of the service role.
bool skipAnalysis = 14;
}
@@ -195,7 +197,7 @@ enum RefType {
// Map to the reference targeting the segment in another OS process.
CrossProcess = 0;
// Map to the reference targeting the segment in the same process of the current one, just across thread.
- // This is only used when the coding language has the thread concept.
+ // This is only used when the coding language has the thread concept.
CrossThread = 1;
}
@@ -218,4 +220,4 @@ enum SpanLayer {
// The segment collections for trace report in batch and sync mode.
message SegmentCollection {
repeated SegmentObject segments = 1;
-}
\ No newline at end of file
+}
diff --git a/language-agent/CLRMetric.proto b/language-agent/TracingCompat.proto
similarity index 53%
copy from language-agent/CLRMetric.proto
copy to language-agent/TracingCompat.proto
index 6082f8c..ff3c234 100644
--- a/language-agent/CLRMetric.proto
+++ b/language-agent/TracingCompat.proto
@@ -19,40 +19,27 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
+option java_package = "org.apache.skywalking.apm.network.language.agent.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
option go_package = "skywalking/network/language/agent/v3";
+option deprecated = true;
import "common/Common.proto";
-
-service CLRMetricReportService {
- rpc collect (CLRMetricCollection) returns (Commands) {
+import "language-agent/Tracing.proto";
+
+// Define a trace segment report service.
+// All language agents or any trace collecting component, could use this service to send span collection to the SkyWalking OAP backend.
+service TraceSegmentReportService {
+ // Recommended trace segment report channel.
+ // gRPC streaming provides better performance.
+ // All language agents should choose this.
+ rpc collect (stream skywalking.v3.SegmentObject) returns (skywalking.v3.Commands) {
}
-}
-
-message CLRMetricCollection {
- repeated CLRMetric metrics = 1;
- string service = 2;
- string serviceInstance = 3;
-}
-message CLRMetric {
- int64 time = 1;
- CPU cpu = 2;
- ClrGC gc = 3;
- ClrThread thread = 4;
-}
-
-message ClrGC {
- int64 Gen0CollectCount = 1;
- int64 Gen1CollectCount = 2;
- int64 Gen2CollectCount = 3;
- int64 HeapMemory = 4;
+ // An alternative for trace report by using gRPC unary
+ // This is provided for some 3rd-party integration, if and only if they prefer the unary mode somehow.
+ // The performance of SkyWalking OAP server would be very similar with streaming report,
+ // the performance of the network and client side are affected
+ rpc collectInSync (skywalking.v3.SegmentCollection) returns (skywalking.v3.Commands) {
+ }
}
-
-message ClrThread {
- int32 AvailableCompletionPortThreads = 1;
- int32 AvailableWorkerThreads = 2;
- int32 MaxCompletionPortThreads = 3;
- int32 MaxWorkerThreads = 4;
-}
\ No newline at end of file
diff --git a/logging/Logging.proto b/logging/Logging.proto
index 010651a..e227cb7 100644
--- a/logging/Logging.proto
+++ b/logging/Logging.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.logging.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
diff --git a/management/Management.proto b/management/Management.proto
index 9589ba4..ab7885f 100644
--- a/management/Management.proto
+++ b/management/Management.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.management.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
@@ -48,4 +50,4 @@ message InstanceProperties {
message InstancePingPkg {
string service = 1;
string serviceInstance = 2;
-}
\ No newline at end of file
+}
diff --git a/management/Management.proto b/management/ManagementCompat.proto
similarity index 79%
copy from management/Management.proto
copy to management/ManagementCompat.proto
index 9589ba4..194ebfb 100644
--- a/management/Management.proto
+++ b/management/ManagementCompat.proto
@@ -19,33 +19,24 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.management.v3";
+option java_package = "org.apache.skywalking.apm.network.management.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
option go_package = "skywalking/network/management/v3";
+option deprecated = true;
import "common/Common.proto";
+import "management/Management.proto";
// Define the service reporting the extra information of the instance.
service ManagementService {
// Report custom properties of a service instance.
- rpc reportInstanceProperties (InstanceProperties) returns (Commands) {
+ rpc reportInstanceProperties (skywalking.v3.InstanceProperties) returns (skywalking.v3.Commands) {
}
// Keep the instance alive in the backend analysis.
// Only recommend to do separate keepAlive report when no trace and metrics needs to be reported.
// Otherwise, it is duplicated.
- rpc keepAlive (InstancePingPkg) returns (Commands) {
+ rpc keepAlive (skywalking.v3.InstancePingPkg) returns (skywalking.v3.Commands) {
}
}
-
-message InstanceProperties {
- string service = 1;
- string serviceInstance = 2;
- repeated KeyStringValuePair properties = 3;
-}
-
-message InstancePingPkg {
- string service = 1;
- string serviceInstance = 2;
-}
\ No newline at end of file
diff --git a/profile/Profile.proto b/profile/Profile.proto
index 1043893..1fa6812 100644
--- a/profile/Profile.proto
+++ b/profile/Profile.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.language.profile.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
@@ -77,4 +79,4 @@ message ProfileTaskFinishReport {
// profile task
string taskId = 3;
-}
\ No newline at end of file
+}
diff --git a/language-agent/CLRMetric.proto b/profile/ProfileCompat.proto
similarity index 59%
copy from language-agent/CLRMetric.proto
copy to profile/ProfileCompat.proto
index 6082f8c..8c4f932 100644
--- a/language-agent/CLRMetric.proto
+++ b/profile/ProfileCompat.proto
@@ -19,40 +19,26 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.language.agent.v3";
+option java_package = "org.apache.skywalking.apm.network.language.profile.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
-option go_package = "skywalking/network/language/agent/v3";
+option go_package = "skywalking/network/language/profile/v3";
+option deprecated = true;
import "common/Common.proto";
+import "profile/Profile.proto";
-service CLRMetricReportService {
- rpc collect (CLRMetricCollection) returns (Commands) {
+service ProfileTask {
+
+ // query all sniffer need to execute profile task commands
+ rpc getProfileTaskCommands (skywalking.v3.ProfileTaskCommandQuery) returns (skywalking.v3.Commands) {
}
-}
-message CLRMetricCollection {
- repeated CLRMetric metrics = 1;
- string service = 2;
- string serviceInstance = 3;
-}
+ // collect dumped thread snapshot
+ rpc collectSnapshot (stream skywalking.v3.ThreadSnapshot) returns (skywalking.v3.Commands) {
+ }
-message CLRMetric {
- int64 time = 1;
- CPU cpu = 2;
- ClrGC gc = 3;
- ClrThread thread = 4;
-}
+ // report profiling task finished
+ rpc reportTaskFinish (skywalking.v3.ProfileTaskFinishReport) returns (skywalking.v3.Commands) {
+ }
-message ClrGC {
- int64 Gen0CollectCount = 1;
- int64 Gen1CollectCount = 2;
- int64 Gen2CollectCount = 3;
- int64 HeapMemory = 4;
}
-
-message ClrThread {
- int32 AvailableCompletionPortThreads = 1;
- int32 AvailableWorkerThreads = 2;
- int32 MaxCompletionPortThreads = 3;
- int32 MaxWorkerThreads = 4;
-}
\ No newline at end of file
diff --git a/common/Common.proto b/service-mesh-probe/service-mesh-compat.proto
similarity index 60%
copy from common/Common.proto
copy to service-mesh-probe/service-mesh-compat.proto
index 807ecdf..2e081fa 100644
--- a/common/Common.proto
+++ b/service-mesh-probe/service-mesh-compat.proto
@@ -19,34 +19,15 @@
syntax = "proto3";
option java_multiple_files = true;
-option java_package = "org.apache.skywalking.apm.network.common.v3";
+option java_package = "org.apache.skywalking.apm.network.servicemesh.v3.compat";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";
-option go_package = "skywalking/network/common/v3";
+option go_package = "skywalking/network/servicemesh/v3";
+option deprecated = true;
-message KeyStringValuePair {
- string key = 1;
- string value = 2;
-}
-
-message CPU {
- double usagePercent = 2;
-}
-
-// In most cases, detect point should be `server` or `client`.
-// Even in service mesh, this means `server`/`client` side sidecar
-// `proxy` is reserved only.
-enum DetectPoint {
- client = 0;
- server = 1;
- proxy = 2;
-}
-
-message Commands {
- repeated Command commands = 1;
-}
+import "service-mesh-probe/service-mesh.proto";
-message Command {
- string command = 1;
- repeated KeyStringValuePair args = 2;
+// Define metrics report service. The metrics format is typically representing the data model collected in the service mesh case.
+service ServiceMeshMetricService {
+ rpc collect(stream skywalking.v3.ServiceMeshMetric) returns (skywalking.v3.MeshProbeDownstream) {
+ }
}
-
diff --git a/service-mesh-probe/service-mesh.proto b/service-mesh-probe/service-mesh.proto
index 859ea2d..ebf8cb1 100644
--- a/service-mesh-probe/service-mesh.proto
+++ b/service-mesh-probe/service-mesh.proto
@@ -18,6 +18,8 @@
syntax = "proto3";
+package skywalking.v3;
+
option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.servicemesh.v3";
option csharp_namespace = "SkyWalking.NetworkProtocol.V3";