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/08/26 08:51:50 UTC

[skywalking-data-collect-protocol] branch master updated: Add a sync collecting service for trace report.

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 cdd5861  Add a sync collecting service for trace report.
cdd5861 is described below

commit cdd58617e720949f51c0ddf5adf10b2b188e94fe
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Wed Aug 26 16:51:34 2020 +0800

    Add a sync collecting service for trace report.
---
 language-agent/Tracing.proto | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/language-agent/Tracing.proto b/language-agent/Tracing.proto
index e4abc64..8f123b1 100644
--- a/language-agent/Tracing.proto
+++ b/language-agent/Tracing.proto
@@ -28,8 +28,18 @@ import "common/Common.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 SegmentObject) returns (Commands) {
     }
+
+    // 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 (SegmentCollection) returns (Commands) {
+    }
 }
 
 // The segment is a collection of spans. It includes all collected spans in a simple one request context, such as a HTTP request process.
@@ -203,4 +213,9 @@ enum SpanLayer {
     MQ = 4;
     // A cache layer, used in tracing the cache client component.
     Cache = 5;
+}
+
+// The segment collections for trace report in batch and sync mode.
+message SegmentCollection {
+    repeated SegmentObject segments = 1;
 }
\ No newline at end of file