You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2020/12/17 09:09:53 UTC

[skywalking] 01/01: update submodule to sync namespaced proto files

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

kezhenxu94 pushed a commit to branch submodule/data-collect-protocol
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 71aa4d134e84609b94db0e343866871bf720bd24
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Thu Dec 17 17:08:57 2020 +0800

    update submodule to sync namespaced proto files
---
 .github/workflows/ci-it.yaml                       |  1 +
 .github/workflows/e2e.jdk-versions.yaml            |  1 +
 .github/workflows/e2e.python.yaml                  |  1 +
 apm-protocol/apm-network/src/main/proto            |  2 +-
 .../browser/provider/BrowserModuleProvider.java    |  8 ++--
 .../grpc/BrowserPerfServiceHandlerCompat.java      | 41 ++++++++++++++++++
 .../receiver/clr/provider/CLRModuleProvider.java   |  5 ++-
 .../CLRMetricReportServiceHandlerCompat.java       | 36 ++++++++++++++++
 .../receiver/jvm/provider/JVMModuleProvider.java   |  5 ++-
 .../JVMMetricReportServiceHandlerCompat.java       | 36 ++++++++++++++++
 .../register/provider/RegisterModuleProvider.java  |  5 ++-
 .../v8/grpc/ManagementServiceHandlerCompat.java    | 42 +++++++++++++++++++
 .../receiver/mesh/MeshGRPCHandlerCompat.java       | 35 ++++++++++++++++
 .../server/receiver/mesh/MeshReceiverProvider.java |  4 +-
 .../meter/provider/MeterReceiverProvider.java      |  5 ++-
 .../handler/MeterServiceHandlerCompat.java         | 36 ++++++++++++++++
 .../profile/provider/ProfileModuleProvider.java    |  5 ++-
 .../handler/ProfileTaskServiceHandlerCompat.java   | 48 ++++++++++++++++++++++
 .../trace/provider/TraceModuleProvider.java        |  5 ++-
 .../v8/grpc/TraceSegmentReportServiceHandler.java  |  2 +-
 .../TraceSegmentReportServiceHandlerCompat.java    | 42 +++++++++++++++++++
 21 files changed, 353 insertions(+), 12 deletions(-)

diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 976ed85..24861c2 100644
--- a/.github/workflows/ci-it.yaml
+++ b/.github/workflows/ci-it.yaml
@@ -21,6 +21,7 @@ on:
   push:
     branches:
       - master
+      - submodule/data-collect-protocol
 
 env:
   MAVEN_OPTS: -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit
diff --git a/.github/workflows/e2e.jdk-versions.yaml b/.github/workflows/e2e.jdk-versions.yaml
index e29e4e9..d0f0daf 100644
--- a/.github/workflows/e2e.jdk-versions.yaml
+++ b/.github/workflows/e2e.jdk-versions.yaml
@@ -21,6 +21,7 @@ on:
   push:
     branches:
       - master
+      - submodule/data-collect-protocol
 
 env:
   SKIP_TEST: true
diff --git a/.github/workflows/e2e.python.yaml b/.github/workflows/e2e.python.yaml
index 3382df5..afdef19 100644
--- a/.github/workflows/e2e.python.yaml
+++ b/.github/workflows/e2e.python.yaml
@@ -24,6 +24,7 @@ on:
   push:
     branches:
       - master
+      - submodule/data-collect-protocol
 
 env:
   SKIP_TEST: true
diff --git a/apm-protocol/apm-network/src/main/proto b/apm-protocol/apm-network/src/main/proto
index 754995b..c2e07ab 160000
--- a/apm-protocol/apm-network/src/main/proto
+++ b/apm-protocol/apm-network/src/main/proto
@@ -1 +1 @@
-Subproject commit 754995b9bd4e64c34e970df3c3011efc9181c2a3
+Subproject commit c2e07ab0958898209e16c4c34cb623725110c122
diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java
index aa13728..f80cb80 100644
--- a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java
@@ -28,6 +28,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleProvider;
 import org.apache.skywalking.oap.server.library.module.ModuleStartException;
 import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
 import org.apache.skywalking.oap.server.receiver.browser.module.BrowserModule;
+import org.apache.skywalking.oap.server.receiver.browser.provider.handler.grpc.BrowserPerfServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.browser.provider.handler.grpc.BrowserPerfServiceHandler;
 import org.apache.skywalking.oap.server.receiver.browser.provider.handler.rest.BrowserErrorLogReportListServletHandler;
 import org.apache.skywalking.oap.server.receiver.browser.provider.handler.rest.BrowserErrorLogReportSingleServletHandler;
@@ -74,9 +75,10 @@ public class BrowserModuleProvider extends ModuleProvider {
         GRPCHandlerRegister grpcHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                               .provider().getService(GRPCHandlerRegister.class);
         // grpc
-        grpcHandlerRegister.addHandler(
-            new BrowserPerfServiceHandler(
-                getManager(), moduleConfig, perfDataListenerManager(), errorLogListenerManager()));
+        BrowserPerfServiceHandler browserPerfServiceHandler = new BrowserPerfServiceHandler(
+            getManager(), moduleConfig, perfDataListenerManager(), errorLogListenerManager());
+        grpcHandlerRegister.addHandler(browserPerfServiceHandler);
+        grpcHandlerRegister.addHandler(new BrowserPerfServiceHandlerCompat(browserPerfServiceHandler));
 
         // rest
         JettyHandlerRegister jettyHandlerRegister = getManager().find(SharingServerModule.NAME)
diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/grpc/BrowserPerfServiceHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/grpc/BrowserPerfServiceHandlerCompat.java
new file mode 100644
index 0000000..de5819c
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/handler/grpc/BrowserPerfServiceHandlerCompat.java
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package org.apache.skywalking.oap.server.receiver.browser.provider.handler.grpc;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.BrowserErrorLog;
+import org.apache.skywalking.apm.network.language.agent.v3.BrowserPerfData;
+import org.apache.skywalking.apm.network.language.agent.v3.compat.BrowserPerfServiceGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class BrowserPerfServiceHandlerCompat extends BrowserPerfServiceGrpc.BrowserPerfServiceImplBase implements GRPCHandler {
+    private final BrowserPerfServiceHandler delegate;
+
+    @Override
+    public void collectPerfData(final BrowserPerfData request, final StreamObserver<Commands> responseObserver) {
+        delegate.collectPerfData(request, responseObserver);
+    }
+
+    @Override
+    public StreamObserver<BrowserErrorLog> collectErrorLogs(final StreamObserver<Commands> responseObserver) {
+        return delegate.collectErrorLogs(responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java
index 6aeb884..fc47a60 100644
--- a/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java
@@ -27,6 +27,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleProvider;
 import org.apache.skywalking.oap.server.library.module.ModuleStartException;
 import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
 import org.apache.skywalking.oap.server.receiver.clr.module.CLRModule;
+import org.apache.skywalking.oap.server.receiver.clr.provider.handler.CLRMetricReportServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.clr.provider.handler.CLRMetricReportServiceHandler;
 import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
 
@@ -66,7 +67,9 @@ public class CLRModuleProvider extends ModuleProvider {
         GRPCHandlerRegister grpcHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                               .provider()
                                                               .getService(GRPCHandlerRegister.class);
-        grpcHandlerRegister.addHandler(new CLRMetricReportServiceHandler(getManager()));
+        CLRMetricReportServiceHandler clrMetricReportServiceHandler = new CLRMetricReportServiceHandler(getManager());
+        grpcHandlerRegister.addHandler(clrMetricReportServiceHandler);
+        grpcHandlerRegister.addHandler(new CLRMetricReportServiceHandlerCompat(clrMetricReportServiceHandler));
     }
 
     @Override
diff --git a/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/handler/CLRMetricReportServiceHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/handler/CLRMetricReportServiceHandlerCompat.java
new file mode 100644
index 0000000..9d6b81e
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/handler/CLRMetricReportServiceHandlerCompat.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.clr.provider.handler;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.CLRMetricCollection;
+import org.apache.skywalking.apm.network.language.agent.v3.compat.CLRMetricReportServiceGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class CLRMetricReportServiceHandlerCompat extends CLRMetricReportServiceGrpc.CLRMetricReportServiceImplBase implements GRPCHandler {
+    private final CLRMetricReportServiceHandler delegate;
+
+    @Override
+    public void collect(final CLRMetricCollection request, final StreamObserver<Commands> responseObserver) {
+        delegate.collect(request, responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java
index f5194dc..202f9e8 100644
--- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java
@@ -27,6 +27,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleProvider;
 import org.apache.skywalking.oap.server.library.module.ModuleStartException;
 import org.apache.skywalking.oap.server.receiver.jvm.module.JVMModule;
 import org.apache.skywalking.oap.server.receiver.jvm.provider.handler.JVMMetricReportServiceHandler;
+import org.apache.skywalking.oap.server.receiver.jvm.provider.handler.JVMMetricReportServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
 
 public class JVMModuleProvider extends ModuleProvider {
@@ -61,7 +62,9 @@ public class JVMModuleProvider extends ModuleProvider {
         GRPCHandlerRegister grpcHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                               .provider()
                                                               .getService(GRPCHandlerRegister.class);
-        grpcHandlerRegister.addHandler(new JVMMetricReportServiceHandler(getManager()));
+        JVMMetricReportServiceHandler jvmMetricReportServiceHandler = new JVMMetricReportServiceHandler(getManager());
+        grpcHandlerRegister.addHandler(jvmMetricReportServiceHandler);
+        grpcHandlerRegister.addHandler(new JVMMetricReportServiceHandlerCompat(jvmMetricReportServiceHandler));
     }
 
     @Override
diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricReportServiceHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricReportServiceHandlerCompat.java
new file mode 100644
index 0000000..5044ce9
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricReportServiceHandlerCompat.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.jvm.provider.handler;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.JVMMetricCollection;
+import org.apache.skywalking.apm.network.language.agent.v3.compat.JVMMetricReportServiceGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class JVMMetricReportServiceHandlerCompat extends JVMMetricReportServiceGrpc.JVMMetricReportServiceImplBase implements GRPCHandler {
+    private final JVMMetricReportServiceHandler delegate;
+
+    @Override
+    public void collect(final JVMMetricCollection request, final StreamObserver<Commands> responseObserver) {
+        delegate.collect(request, responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java
index 5855d2a..c402eae 100644
--- a/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java
@@ -26,6 +26,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleDefine;
 import org.apache.skywalking.oap.server.library.module.ModuleProvider;
 import org.apache.skywalking.oap.server.receiver.register.module.RegisterModule;
 import org.apache.skywalking.oap.server.receiver.register.provider.handler.v8.grpc.ManagementServiceHandler;
+import org.apache.skywalking.oap.server.receiver.register.provider.handler.v8.grpc.ManagementServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.register.provider.handler.v8.rest.ManagementServiceKeepAliveHandler;
 import org.apache.skywalking.oap.server.receiver.register.provider.handler.v8.rest.ManagementServiceReportPropertiesHandler;
 import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
@@ -56,7 +57,9 @@ public class RegisterModuleProvider extends ModuleProvider {
         GRPCHandlerRegister grpcHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                               .provider()
                                                               .getService(GRPCHandlerRegister.class);
-        grpcHandlerRegister.addHandler(new ManagementServiceHandler(getManager()));
+        ManagementServiceHandler managementServiceHandler = new ManagementServiceHandler(getManager());
+        grpcHandlerRegister.addHandler(managementServiceHandler);
+        grpcHandlerRegister.addHandler(new ManagementServiceHandlerCompat(managementServiceHandler));
 
         JettyHandlerRegister jettyHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                                 .provider()
diff --git a/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/grpc/ManagementServiceHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/grpc/ManagementServiceHandlerCompat.java
new file mode 100644
index 0000000..2991eaa
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/grpc/ManagementServiceHandlerCompat.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.register.provider.handler.v8.grpc;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.management.v3.InstancePingPkg;
+import org.apache.skywalking.apm.network.management.v3.InstanceProperties;
+import org.apache.skywalking.apm.network.management.v3.compat.ManagementServiceGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class ManagementServiceHandlerCompat extends ManagementServiceGrpc.ManagementServiceImplBase implements GRPCHandler {
+    private final ManagementServiceHandler delegate;
+
+    @Override
+    public void reportInstanceProperties(final InstanceProperties request, final StreamObserver<Commands> responseObserver) {
+        delegate.reportInstanceProperties(request, responseObserver);
+    }
+
+    @Override
+    public void keepAlive(final InstancePingPkg request, final StreamObserver<Commands> responseObserver) {
+        delegate.keepAlive(request, responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshGRPCHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshGRPCHandlerCompat.java
new file mode 100644
index 0000000..b6f48b7
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshGRPCHandlerCompat.java
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.aop.server.receiver.mesh;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.servicemesh.v3.MeshProbeDownstream;
+import org.apache.skywalking.apm.network.servicemesh.v3.ServiceMeshMetric;
+import org.apache.skywalking.apm.network.servicemesh.v3.compat.ServiceMeshMetricServiceGrpc;
+
+@RequiredArgsConstructor
+public class MeshGRPCHandlerCompat extends ServiceMeshMetricServiceGrpc.ServiceMeshMetricServiceImplBase {
+    private final MeshGRPCHandler delegate;
+
+    @Override
+    public StreamObserver<ServiceMeshMetric> collect(final StreamObserver<MeshProbeDownstream> responseObserver) {
+        return delegate.collect(responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java
index 89e1eeb..9ae66e4 100644
--- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java
@@ -68,7 +68,9 @@ public class MeshReceiverProvider extends ModuleProvider {
         GRPCHandlerRegister service = getManager().find(SharingServerModule.NAME)
                                                   .provider()
                                                   .getService(GRPCHandlerRegister.class);
-        service.addHandler(new MeshGRPCHandler(getManager()));
+        MeshGRPCHandler meshGRPCHandler = new MeshGRPCHandler(getManager());
+        service.addHandler(meshGRPCHandler);
+        service.addHandler(new MeshGRPCHandlerCompat(meshGRPCHandler));
     }
 
     @Override
diff --git a/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java
index 8ff21b0..730ee1c 100644
--- a/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java
@@ -28,6 +28,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleProvider;
 import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
 import org.apache.skywalking.oap.server.receiver.meter.module.MeterReceiverModule;
 import org.apache.skywalking.oap.server.receiver.meter.provider.handler.MeterServiceHandler;
+import org.apache.skywalking.oap.server.receiver.meter.provider.handler.MeterServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
 
 public class MeterReceiverProvider extends ModuleProvider {
@@ -61,7 +62,9 @@ public class MeterReceiverProvider extends ModuleProvider {
         GRPCHandlerRegister grpcHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                               .provider()
                                                               .getService(GRPCHandlerRegister.class);
-        grpcHandlerRegister.addHandler(new MeterServiceHandler(processService));
+        MeterServiceHandler meterServiceHandlerCompat = new MeterServiceHandler(processService);
+        grpcHandlerRegister.addHandler(meterServiceHandlerCompat);
+        grpcHandlerRegister.addHandler(new MeterServiceHandlerCompat(meterServiceHandlerCompat));
     }
 
     @Override
diff --git a/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/handler/MeterServiceHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/handler/MeterServiceHandlerCompat.java
new file mode 100644
index 0000000..b21a1f5
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/handler/MeterServiceHandlerCompat.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.meter.provider.handler;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.agent.v3.MeterData;
+import org.apache.skywalking.apm.network.language.agent.v3.compat.MeterReportServiceGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class MeterServiceHandlerCompat extends MeterReportServiceGrpc.MeterReportServiceImplBase implements GRPCHandler {
+    private final MeterServiceHandler delegate;
+
+    @Override
+    public StreamObserver<MeterData> collect(final StreamObserver<Commands> responseObserver) {
+        return delegate.collect(responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java
index a1b9941..88b4374 100644
--- a/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java
@@ -27,6 +27,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
 import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
 import org.apache.skywalking.oap.server.receiver.profile.module.ProfileModule;
 import org.apache.skywalking.oap.server.receiver.profile.provider.handler.ProfileTaskServiceHandler;
+import org.apache.skywalking.oap.server.receiver.profile.provider.handler.ProfileTaskServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
 
 /**
@@ -57,7 +58,9 @@ public class ProfileModuleProvider extends ModuleProvider {
         GRPCHandlerRegister grpcHandlerRegister = getManager().find(SharingServerModule.NAME)
                                                               .provider()
                                                               .getService(GRPCHandlerRegister.class);
-        grpcHandlerRegister.addHandler(new ProfileTaskServiceHandler(getManager()));
+        ProfileTaskServiceHandler profileTaskServiceHandler = new ProfileTaskServiceHandler(getManager());
+        grpcHandlerRegister.addHandler(profileTaskServiceHandler);
+        grpcHandlerRegister.addHandler(new ProfileTaskServiceHandlerCompat(profileTaskServiceHandler));
     }
 
     @Override
diff --git a/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/handler/ProfileTaskServiceHandlerCompat.java b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/handler/ProfileTaskServiceHandlerCompat.java
new file mode 100644
index 0000000..d911bf0
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/handler/ProfileTaskServiceHandlerCompat.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.profile.provider.handler;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+import org.apache.skywalking.apm.network.common.v3.Commands;
+import org.apache.skywalking.apm.network.language.profile.v3.ProfileTaskCommandQuery;
+import org.apache.skywalking.apm.network.language.profile.v3.ProfileTaskFinishReport;
+import org.apache.skywalking.apm.network.language.profile.v3.ThreadSnapshot;
+import org.apache.skywalking.apm.network.language.profile.v3.compat.ProfileTaskGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class ProfileTaskServiceHandlerCompat extends ProfileTaskGrpc.ProfileTaskImplBase implements GRPCHandler {
+    private final ProfileTaskServiceHandler delegate;
+
+    @Override
+    public void getProfileTaskCommands(final ProfileTaskCommandQuery request, final StreamObserver<Commands> responseObserver) {
+        delegate.getProfileTaskCommands(request, responseObserver);
+    }
+
+    @Override
+    public StreamObserver<ThreadSnapshot> collectSnapshot(final StreamObserver<Commands> responseObserver) {
+        return delegate.collectSnapshot(responseObserver);
+    }
+
+    @Override
+    public void reportTaskFinish(final ProfileTaskFinishReport request, final StreamObserver<Commands> responseObserver) {
+        delegate.reportTaskFinish(request, responseObserver);
+    }
+}
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
index 98b07e1..16fcde3 100755
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
@@ -30,6 +30,7 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti
 import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
 import org.apache.skywalking.oap.server.receiver.trace.module.TraceModule;
 import org.apache.skywalking.oap.server.receiver.trace.provider.handler.v8.grpc.TraceSegmentReportServiceHandler;
+import org.apache.skywalking.oap.server.receiver.trace.provider.handler.v8.grpc.TraceSegmentReportServiceHandlerCompat;
 import org.apache.skywalking.oap.server.receiver.trace.provider.handler.v8.rest.TraceSegmentReportListServletHandler;
 import org.apache.skywalking.oap.server.receiver.trace.provider.handler.v8.rest.TraceSegmentReportSingleServletHandler;
 import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
@@ -65,7 +66,9 @@ public class TraceModuleProvider extends ModuleProvider {
                                                                 .provider()
                                                                 .getService(JettyHandlerRegister.class);
 
-        grpcHandlerRegister.addHandler(new TraceSegmentReportServiceHandler(getManager()));
+        TraceSegmentReportServiceHandler traceSegmentReportServiceHandler = new TraceSegmentReportServiceHandler(getManager());
+        grpcHandlerRegister.addHandler(traceSegmentReportServiceHandler);
+        grpcHandlerRegister.addHandler(new TraceSegmentReportServiceHandlerCompat(traceSegmentReportServiceHandler));
 
         jettyHandlerRegister.addHandler(new TraceSegmentReportListServletHandler(getManager()));
         jettyHandlerRegister.addHandler(new TraceSegmentReportSingleServletHandler(getManager()));
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 4053475..d16de41 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
@@ -70,7 +70,7 @@ public class TraceSegmentReportServiceHandler extends TraceSegmentReportServiceG
                 }
 
                 HistogramMetrics.Timer timer = histogram.createTimer();
-                try {
+                try {π
                     segmentParserService.send(segment);
                 } catch (Exception e) {
                     errorCounter.inc();
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/TraceSegmentReportServiceHandlerCompat.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/TraceSegmentReportServiceHandlerCompat.java
new file mode 100644
index 0000000..3e25fa5
--- /dev/null
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v8/grpc/TraceSegmentReportServiceHandlerCompat.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.trace.provider.handler.v8.grpc;
+
+import io.grpc.stub.StreamObserver;
+import lombok.RequiredArgsConstructor;
+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.compat.TraceSegmentReportServiceGrpc;
+import org.apache.skywalking.oap.server.library.server.grpc.GRPCHandler;
+
+@RequiredArgsConstructor
+public class TraceSegmentReportServiceHandlerCompat extends TraceSegmentReportServiceGrpc.TraceSegmentReportServiceImplBase implements GRPCHandler {
+    private final TraceSegmentReportServiceHandler delegate;
+
+    @Override
+    public StreamObserver<SegmentObject> collect(final StreamObserver<Commands> responseObserver) {
+        return delegate.collect(responseObserver);
+    }
+
+    @Override
+    public void collectInSync(final SegmentCollection request, final StreamObserver<Commands> responseObserver) {
+        delegate.collectInSync(request, responseObserver);
+    }
+}