From f38aea3d97c36dbd71c76468dd04a7753e8c70af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=8B=87=E5=8D=87=20pengys?= <8082209@qq.com> Date: Sat, 23 Mar 2019 23:40:35 +0800 Subject: [PATCH] Fixed a logical error cause JVM metrics not dispatched. (#2398) --- .../receiver/jvm/provider/handler/JVMSourceDispatcher.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMSourceDispatcher.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMSourceDispatcher.java index 51aa69ffd0..3d41f69015 100644 --- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMSourceDispatcher.java +++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMSourceDispatcher.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oap.server.receiver.jvm.provider.handler; -import java.util.List; +import java.util.*; import org.apache.skywalking.apm.network.common.CPU; import org.apache.skywalking.apm.network.language.agent.*; import org.apache.skywalking.oap.server.core.*; @@ -45,7 +45,7 @@ public class JVMSourceDispatcher { void sendMetric(int serviceInstanceId, long minuteTimeBucket, JVMMetric metric) { ServiceInstanceInventory serviceInstanceInventory = instanceInventoryCache.get(serviceInstanceId); int serviceId; - if (serviceInstanceInventory == null) { + if (Objects.nonNull(serviceInstanceInventory)) { serviceId = serviceInstanceInventory.getServiceId(); } else { logger.warn("Can't found service by service instance id from cache, service instance id is: {}", serviceInstanceId); @@ -93,7 +93,8 @@ public class JVMSourceDispatcher { }); } - private void sendToMemoryMetricProcess(int serviceId, int serviceInstanceId, long timeBucket, List memories) { + private void sendToMemoryMetricProcess(int serviceId, int serviceInstanceId, long timeBucket, + List memories) { memories.forEach(memory -> { ServiceInstanceJVMMemory serviceInstanceJVMMemory = new ServiceInstanceJVMMemory(); serviceInstanceJVMMemory.setId(serviceInstanceId); -- GitLab