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:54:04 UTC

[skywalking] branch sync-report created (now c2a0b90)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a change to branch sync-report
in repository https://gitbox.apache.org/repos/asf/skywalking.git.


      at c2a0b90  Unary alternative to `TraceSegmentReportService.collect`

This branch includes the following new commits:

     new c2a0b90  Unary alternative to `TraceSegmentReportService.collect`

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[skywalking] 01/01: Unary alternative to `TraceSegmentReportService.collect`

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch sync-report
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit c2a0b9022352a71f1a830e42fdd737abcce4a1d9
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Wed Aug 26 16:53:11 2020 +0800

    Unary alternative to `TraceSegmentReportService.collect`
---
 apm-protocol/apm-network/src/main/proto            |  2 +-
 .../v8/grpc/TraceSegmentReportServiceHandler.java  | 24 +++++++++++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/apm-protocol/apm-network/src/main/proto b/apm-protocol/apm-network/src/main/proto
index 89381e1..cdd5861 160000
--- a/apm-protocol/apm-network/src/main/proto
+++ b/apm-protocol/apm-network/src/main/proto
@@ -1 +1 @@
-Subproject commit 89381e14f9c29c4ee240c5e55c66ab44381924ca
+Subproject commit cdd58617e720949f51c0ddf5adf10b2b188e94fe
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/TraceSegmentReportServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/TraceSegmentReportServiceHandler.java
index b9bbc4e..4053475 100644
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/TraceSegmentReportServiceHandler.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/TraceSegmentReportServiceHandler.java
@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.receiver.trace.provider.handler.v8.grpc
 import io.grpc.stub.StreamObserver;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.SegmentCollection;
 import org.apache.skywalking.apm.network.language.agent.v3.SegmentObject;
 import org.apache.skywalking.apm.network.language.agent.v3.TraceSegmentReportServiceGrpc;
 import org.apache.skywalking.oap.server.analyzer.module.AnalyzerModule;
@@ -65,7 +66,7 @@ public class TraceSegmentReportServiceHandler extends TraceSegmentReportServiceG
             @Override
             public void onNext(SegmentObject segment) {
                 if (log.isDebugEnabled()) {
-                    log.debug("receive segment");
+                    log.debug("received segment in streaming");
                 }
 
                 HistogramMetrics.Timer timer = histogram.createTimer();
@@ -91,4 +92,25 @@ public class TraceSegmentReportServiceHandler extends TraceSegmentReportServiceG
             }
         };
     }
+
+    @Override
+    public void collectInSync(final SegmentCollection request, final StreamObserver<Commands> responseObserver) {
+        if (log.isDebugEnabled()) {
+            log.debug("received {} segments", request.getSegmentsCount());
+        }
+
+        request.getSegmentsList().forEach(segment -> {
+            HistogramMetrics.Timer timer = histogram.createTimer();
+            try {
+                segmentParserService.send(segment);
+            } catch (Exception e) {
+                errorCounter.inc();
+            } finally {
+                timer.finish();
+            }
+        });
+
+        responseObserver.onNext(Commands.newBuilder().build());
+        responseObserver.onCompleted();
+    }
 }