diff --git a/apm-protocol/apm-network/src/main/proto b/apm-protocol/apm-network/src/main/proto index 996e6a42fffff2d8cb689c232ba8334d8ab85077..75c74186a1548657013a299f388e6e8b7b4b5251 160000 --- a/apm-protocol/apm-network/src/main/proto +++ b/apm-protocol/apm-network/src/main/proto @@ -1 +1 @@ -Subproject commit 996e6a42fffff2d8cb689c232ba8334d8ab85077 +Subproject commit 75c74186a1548657013a299f388e6e8b7b4b5251 diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/pom.xml b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/pom.xml index 185b2273d120a26c4efde110f194ea06cd99503d..3119c3bc28dcb120a065ea35293719d28eb75ec2 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/pom.xml +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/pom.xml @@ -34,6 +34,11 @@ mesh-receiver-module ${project.version} + + org.apache.skywalking + server-core + ${project.version} + diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshGRPCHandler.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshGRPCHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..e9764ce5649e5035c4bf9ccef71cef0805557b05 --- /dev/null +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshGRPCHandler.java @@ -0,0 +1,53 @@ +/* + * 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.provider; + +import io.grpc.stub.StreamObserver; +import org.apache.skywalking.apm.network.servicemesh.MeshProbeDownstream; +import org.apache.skywalking.apm.network.servicemesh.ServiceMeshMetric; +import org.apache.skywalking.apm.network.servicemesh.ServiceMeshMetricServiceGrpc; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MeshGRPCHandler extends ServiceMeshMetricServiceGrpc.ServiceMeshMetricServiceImplBase { + private static final Logger logger = LoggerFactory.getLogger(MeshGRPCHandler.class); + + @Override + public StreamObserver collect(StreamObserver responseObserver) { + return new StreamObserver() { + @Override public void onNext(ServiceMeshMetric metric) { + if (logger.isDebugEnabled()) { + logger.debug("Received mesh metric: {}", metric); + } + + + } + + @Override public void onError(Throwable throwable) { + logger.error(throwable.getMessage(), throwable); + responseObserver.onCompleted(); + } + + @Override public void onCompleted() { + responseObserver.onNext(MeshProbeDownstream.newBuilder().build()); + responseObserver.onCompleted(); + } + }; + } +} diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshReceiverProvider.java index d4dcd3cbbdfc2cffa89cb2616b974615fa83330c..cedb1b433d29ba8cefb550bcda0b161f55b0fc4a 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshReceiverProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/mesh-receiver-provider/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/provider/MeshReceiverProvider.java @@ -19,6 +19,8 @@ package org.apache.skywalking.aop.server.receiver.mesh.provider; import org.apache.skywalking.aop.server.receiver.mesh.module.MeshReceiverModule; +import org.apache.skywalking.oap.server.core.CoreModule; +import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister; import org.apache.skywalking.oap.server.library.module.ModuleConfig; import org.apache.skywalking.oap.server.library.module.ModuleDefine; import org.apache.skywalking.oap.server.library.module.ModuleProvider; @@ -39,10 +41,11 @@ public class MeshReceiverProvider extends ModuleProvider { } @Override public void prepare() throws ServiceNotProvidedException, ModuleStartException { - } @Override public void start() throws ServiceNotProvidedException, ModuleStartException { + GRPCHandlerRegister service = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); + service.addHandler(new MeshGRPCHandler()); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException, ModuleStartException { @@ -50,6 +53,6 @@ public class MeshReceiverProvider extends ModuleProvider { } @Override public String[] requiredModules() { - return new String[0]; + return new String[]{CoreModule.NAME}; } } diff --git a/oap-server/server-starter/src/main/resources/log4j2.xml b/oap-server/server-starter/src/main/resources/log4j2.xml index 6697ebf27225d592684af50e65d407704b3024ac..0003b820bf52f4ef5862356ab50dffb02c53db5e 100644 --- a/oap-server/server-starter/src/main/resources/log4j2.xml +++ b/oap-server/server-starter/src/main/resources/log4j2.xml @@ -17,7 +17,7 @@ ~ --> - + @@ -27,10 +27,8 @@ - - - +