From 3df2e8ddcebb00eccb1747919f5352c9909c15df Mon Sep 17 00:00:00 2001 From: Ax1an <28091237+Ax1an@users.noreply.github.com> Date: Mon, 6 Jul 2020 18:50:14 +0800 Subject: [PATCH] Fix no telemetry metrics when the oap role is receiver. (#5038) --- .../oap/server/cluster/plugin/consul/ConsulCoordinator.java | 2 -- .../consul/ITClusterModuleConsulProviderFunctionalTest.java | 2 -- .../oap/server/cluster/plugin/etcd/EtcdCoordinator.java | 2 -- .../cluster/plugin/kubernetes/KubernetesCoordinator.java | 2 -- .../server/cluster/plugin/standalone/StandaloneManager.java | 2 -- .../cluster/plugin/zookeeper/ZookeeperCoordinator.java | 2 -- .../skywalking/oap/server/core/CoreModuleProvider.java | 6 ++++-- 7 files changed, 4 insertions(+), 14 deletions(-) diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ConsulCoordinator.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ConsulCoordinator.java index 58a04d1cd0..676bc855de 100644 --- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ConsulCoordinator.java +++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ConsulCoordinator.java @@ -33,7 +33,6 @@ import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; import org.apache.skywalking.oap.server.core.cluster.ServiceRegisterException; import org.apache.skywalking.oap.server.core.remote.client.Address; import org.apache.skywalking.oap.server.library.util.CollectionUtils; -import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; public class ConsulCoordinator implements ClusterRegister, ClusterNodesQuery { @@ -79,7 +78,6 @@ public class ConsulCoordinator implements ClusterRegister, ClusterNodesQuery { AgentClient agentClient = client.agentClient(); this.selfAddress = remoteInstance.getAddress(); - TelemetryRelatedContext.INSTANCE.setId(selfAddress.toString()); Registration registration = ImmutableRegistration.builder() .id(remoteInstance.getAddress().toString()) diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java index 6710648817..c4cfcad319 100644 --- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java +++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java @@ -31,7 +31,6 @@ import org.apache.skywalking.oap.server.core.cluster.ClusterRegister; import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; import org.apache.skywalking.oap.server.core.remote.client.Address; import org.apache.skywalking.oap.server.library.module.ModuleProvider; -import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; import org.junit.Before; import org.junit.Test; import org.powermock.reflect.Whitebox; @@ -196,7 +195,6 @@ public class ITClusterModuleConsulProviderFunctionalTest { Consul client = Whitebox.getInternalState(consulCoordinator, "client"); AgentClient agentClient = client.agentClient(); Whitebox.setInternalState(consulCoordinator, "selfAddress", remoteInstance.getAddress()); - TelemetryRelatedContext.INSTANCE.setId(remoteInstance.getAddress().toString()); Registration registration = ImmutableRegistration.builder() .id(remoteInstance.getAddress().toString()) .name(serviceName) diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java index 574adf6e1c..706cc6d786 100644 --- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java +++ b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java @@ -33,7 +33,6 @@ import org.apache.skywalking.oap.server.core.cluster.ClusterRegister; import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; import org.apache.skywalking.oap.server.core.cluster.ServiceRegisterException; import org.apache.skywalking.oap.server.core.remote.client.Address; -import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -93,7 +92,6 @@ public class EtcdCoordinator implements ClusterRegister, ClusterNodesQuery { } this.selfAddress = remoteInstance.getAddress(); - TelemetryRelatedContext.INSTANCE.setId(selfAddress.toString()); EtcdEndpoint endpoint = new EtcdEndpoint.Builder().serviceName(serviceName) .host(selfAddress.getHost()) diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinator.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinator.java index 7e2e425fb3..b55eea4659 100644 --- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinator.java +++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/KubernetesCoordinator.java @@ -33,7 +33,6 @@ import org.apache.skywalking.oap.server.core.cluster.ServiceRegisterException; import org.apache.skywalking.oap.server.core.config.ConfigService; import org.apache.skywalking.oap.server.core.remote.client.Address; import org.apache.skywalking.oap.server.library.module.ModuleDefineHolder; -import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; /** * Read collector pod info from api-server of kubernetes, then using all containerIp list to construct the list of @@ -81,7 +80,6 @@ public class KubernetesCoordinator implements ClusterRegister, ClusterNodesQuery @Override public void registerRemote(final RemoteInstance remoteInstance) throws ServiceRegisterException { this.port = remoteInstance.getAddress().getPort(); - TelemetryRelatedContext.INSTANCE.setId(remoteInstance.toString()); } private List selfPod() { diff --git a/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/StandaloneManager.java b/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/StandaloneManager.java index 0be426830d..8b160a740e 100644 --- a/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/StandaloneManager.java +++ b/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/StandaloneManager.java @@ -23,7 +23,6 @@ import java.util.List; import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery; import org.apache.skywalking.oap.server.core.cluster.ClusterRegister; import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; -import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; /** * A cluster manager simulator. Work in memory only. Also return the current instance. @@ -36,7 +35,6 @@ public class StandaloneManager implements ClusterNodesQuery, ClusterRegister { public void registerRemote(RemoteInstance remoteInstance) { this.remoteInstance = remoteInstance; this.remoteInstance.getAddress().setSelf(true); - TelemetryRelatedContext.INSTANCE.setId("standalone"); } @Override diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ZookeeperCoordinator.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ZookeeperCoordinator.java index 4b0223a547..51f7f67f40 100644 --- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ZookeeperCoordinator.java +++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ZookeeperCoordinator.java @@ -30,7 +30,6 @@ import org.apache.skywalking.oap.server.core.cluster.ClusterRegister; import org.apache.skywalking.oap.server.core.cluster.RemoteInstance; import org.apache.skywalking.oap.server.core.cluster.ServiceRegisterException; import org.apache.skywalking.oap.server.core.remote.client.Address; -import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -74,7 +73,6 @@ public class ZookeeperCoordinator implements ClusterRegister, ClusterNodesQuery serviceDiscovery.registerService(thisInstance); this.selfAddress = remoteInstance.getAddress(); - TelemetryRelatedContext.INSTANCE.setId(selfAddress.toString()); } catch (Exception e) { throw new ServiceRegisterException(e.getMessage()); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java index 6aeba0f644..555cddcbb8 100755 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java @@ -92,6 +92,7 @@ import org.apache.skywalking.oap.server.library.server.grpc.GRPCServer; import org.apache.skywalking.oap.server.library.server.jetty.JettyServer; import org.apache.skywalking.oap.server.library.util.ResourceUtils; import org.apache.skywalking.oap.server.telemetry.TelemetryModule; +import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext; /** * Core module provider includes the recommended and default implementations of {@link CoreModule#services()}. All @@ -282,14 +283,15 @@ public class CoreModuleProvider extends ModuleProvider { throw new ModuleStartException(e.getMessage(), e); } + Address gRPCServerInstanceAddress = new Address(moduleConfig.getGRPCHost(), moduleConfig.getGRPCPort(), true); + TelemetryRelatedContext.INSTANCE.setId(gRPCServerInstanceAddress.toString()); if (CoreModuleConfig.Role.Mixed.name() .equalsIgnoreCase( moduleConfig.getRole()) || CoreModuleConfig.Role.Aggregator.name() .equalsIgnoreCase( moduleConfig.getRole())) { - RemoteInstance gRPCServerInstance = new RemoteInstance( - new Address(moduleConfig.getGRPCHost(), moduleConfig.getGRPCPort(), true)); + RemoteInstance gRPCServerInstance = new RemoteInstance(gRPCServerInstanceAddress); this.getManager() .find(ClusterModule.NAME) .provider()