From b32ee4cec783ca45e3ae0f7bcb30161bcb08594a Mon Sep 17 00:00:00 2001 From: wusheng Date: Sat, 8 Jul 2017 10:07:57 +0800 Subject: [PATCH] =?UTF-8?q?JVMService=20didn=E2=80=99t=20add=20itselft=20a?= =?UTF-8?q?s=20a=20channel=20listener.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/skywalking/apm/agent/core/jvm/JVMService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/JVMService.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/JVMService.java index 98d1fda47..bf3189c76 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/JVMService.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/JVMService.java @@ -28,6 +28,10 @@ import org.skywalking.apm.network.proto.JVMMetricsServiceGrpc; import static org.skywalking.apm.agent.core.remote.GRPCChannelStatus.CONNECTED; /** + * The JVMService represents a timer, + * which collectors JVM cpu, memory, memorypool and gc info, + * and send the collected info to Collector through the channel provided by {@link GRPCChannelManager} + * * @author wusheng */ public class JVMService implements BootService, Runnable { @@ -38,10 +42,12 @@ public class JVMService implements BootService, Runnable { private volatile ScheduledFuture collectMetricFuture; private volatile ScheduledFuture sendMetricFuture; private volatile int lastBlockIdx = -1; + private Sender sender; @Override public void beforeBoot() throws Throwable { - + sender = new Sender(); + ServiceManager.INSTANCE.findService(GRPCChannelManager.class).addChannelListener(sender); } @Override @@ -51,7 +57,7 @@ public class JVMService implements BootService, Runnable { .scheduleAtFixedRate(this, 0, 1, TimeUnit.SECONDS); sendMetricFuture = Executors .newSingleThreadScheduledExecutor() - .scheduleAtFixedRate(new Sender(), 0, 15, TimeUnit.SECONDS); + .scheduleAtFixedRate(sender, 0, 15, TimeUnit.SECONDS); } @Override