From 75e4c6795237ea402b07c4ad4f23c970f9ad3be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Fri, 2 Nov 2018 12:07:25 +0800 Subject: [PATCH] Endpoint register to client and server side based on detect point. (#1866) --- .../receiver/mesh/ServiceMeshMetricDataDecorator.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java index 887ecde6ae..3dae80dea0 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/ServiceMeshMetricDataDecorator.java @@ -88,8 +88,14 @@ public class ServiceMeshMetricDataDecorator { if (destServiceId != Const.NONE) { DetectPoint point = origin.getDetectPoint(); - endpointId = CoreRegisterLinker.getEndpointInventoryRegister().getOrCreate(destServiceId, endpoint, - org.apache.skywalking.oap.server.core.source.DetectPoint.fromMeshDetectPoint(point)); + if (DetectPoint.client.equals(point)) { + endpointId = CoreRegisterLinker.getEndpointInventoryRegister().getOrCreate(sourceServiceId, endpoint, + org.apache.skywalking.oap.server.core.source.DetectPoint.fromMeshDetectPoint(point)); + } else { + endpointId = CoreRegisterLinker.getEndpointInventoryRegister().getOrCreate(destServiceId, endpoint, + org.apache.skywalking.oap.server.core.source.DetectPoint.fromMeshDetectPoint(point)); + } + if (endpointId != Const.NONE) { } else { isRegistered = false; -- GitLab