wu-sheng closed pull request #1766: Fixed JVM handler error. Forgot to use break in switch case code. URL: https://github.com/apache/incubator-skywalking/pull/1766
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java index f46bd8fd1..f2c7c77bb 100644 --- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java @@ -55,7 +55,6 @@ public JVMMetricsServiceHandler(ModuleManager moduleManager) { sendToMemoryMetricProcess(serviceInstanceId, minuteTimeBucket, metric.getMemoryList()); sendToMemoryPoolMetricProcess(serviceInstanceId, minuteTimeBucket, metric.getMemoryPoolList()); sendToGCMetricProcess(serviceInstanceId, minuteTimeBucket, metric.getGcList()); - sendToInstanceHeartBeatProcess(serviceInstanceId, metric.getTime()); }); responseObserver.onNext(Downstream.newBuilder().build()); @@ -84,8 +83,10 @@ private void sendToGCMetricProcess(int serviceInstanceId, long timeBucket, List< switch (gc.getPhrase()) { case NEW: serviceInstanceJVMGC.setPhrase(GCPhrase.NEW); + break; case OLD: serviceInstanceJVMGC.setPhrase(GCPhrase.OLD); + break; } serviceInstanceJVMGC.setTime(gc.getTime()); @@ -125,16 +126,22 @@ private void sendToMemoryPoolMetricProcess(int serviceInstanceId, long timeBucke switch (memoryPool.getType()) { case NEWGEN_USAGE: serviceInstanceJVMMemoryPool.setPoolType(MemoryPoolType.NEWGEN_USAGE); + break; case OLDGEN_USAGE: serviceInstanceJVMMemoryPool.setPoolType(MemoryPoolType.OLDGEN_USAGE); + break; case PERMGEN_USAGE: serviceInstanceJVMMemoryPool.setPoolType(MemoryPoolType.PERMGEN_USAGE); + break; case SURVIVOR_USAGE: serviceInstanceJVMMemoryPool.setPoolType(MemoryPoolType.SURVIVOR_USAGE); + break; case METASPACE_USAGE: serviceInstanceJVMMemoryPool.setPoolType(MemoryPoolType.METASPACE_USAGE); + break; case CODE_CACHE_USAGE: serviceInstanceJVMMemoryPool.setPoolType(MemoryPoolType.CODE_CACHE_USAGE); + break; } serviceInstanceJVMMemoryPool.setInit(memoryPool.getInit()); @@ -145,8 +152,4 @@ private void sendToMemoryPoolMetricProcess(int serviceInstanceId, long timeBucke sourceReceiver.receive(serviceInstanceJVMMemoryPool); }); } - - private void sendToInstanceHeartBeatProcess(int instanceId, long heartBeatTime) { -// instanceHeartBeatService.heartBeat(instanceId, heartBeatTime); - } } diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java index ffa2c8df5..79da3c89c 100644 --- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java +++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandlerMainTest.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.receiver.jvm.provider.handler; import io.grpc.*; +import java.util.concurrent.*; import org.apache.skywalking.apm.network.language.agent.*; /** @@ -31,8 +32,12 @@ public static void main(String[] args) { JVMMetricsServiceGrpc.JVMMetricsServiceBlockingStub stub = JVMMetricsServiceGrpc.newBlockingStub(channel); + Executors.newSingleThreadScheduledExecutor().schedule(() -> send(stub), 1, TimeUnit.SECONDS); + } + + private static void send(JVMMetricsServiceGrpc.JVMMetricsServiceBlockingStub stub) { JVMMetrics.Builder jvmMetrics = JVMMetrics.newBuilder(); - jvmMetrics.setApplicationInstanceId(1); + jvmMetrics.setApplicationInstanceId(2); JVMMetric.Builder jvmMetricBuilder = JVMMetric.newBuilder(); jvmMetricBuilder.setTime(System.currentTimeMillis()); ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services