You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/09/01 09:47:55 UTC
[skywalking] branch master updated: Make the cpu usage percent
always greater than 1 (#5422)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 246ea6b Make the cpu usage percent always greater than 1 (#5422)
246ea6b is described below
commit 246ea6b38b8160c7a600be8f0279e34132ac8ef9
Author: xbkaishui <xb...@126.com>
AuthorDate: Tue Sep 1 17:47:35 2020 +0800
Make the cpu usage percent always greater than 1 (#5422)
* fix bug #5417, make the CPU usage percent always >= 1
---
.../oap/server/analyzer/provider/jvm/JVMSourceDispatcher.java | 4 +++-
.../analyzer/agent/kafka/provider/handler/JVMMetricsHandlerTest.java | 4 ++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/jvm/JVMSourceDispatcher.java b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/jvm/JVMSourceDispatcher.java
index 0db68dc..f1ab7b9 100644
--- a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/jvm/JVMSourceDispatcher.java
+++ b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/jvm/JVMSourceDispatcher.java
@@ -77,7 +77,9 @@ public class JVMSourceDispatcher {
serviceInstanceJVMCPU.setName(serviceInstance);
serviceInstanceJVMCPU.setServiceId(serviceId);
serviceInstanceJVMCPU.setServiceName(service);
- serviceInstanceJVMCPU.setUsePercent(cpu.getUsagePercent());
+ // If the cpu usage percent is less than 1, will set to 1
+ double adjustedCpuUsagePercent = Math.max(cpu.getUsagePercent(), 1.0);
+ serviceInstanceJVMCPU.setUsePercent(adjustedCpuUsagePercent);
serviceInstanceJVMCPU.setTimeBucket(timeBucket);
sourceReceiver.receive(serviceInstanceJVMCPU);
}
diff --git a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JVMMetricsHandlerTest.java b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JVMMetricsHandlerTest.java
index 4ea6f73..a9ff2f0 100644
--- a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JVMMetricsHandlerTest.java
+++ b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JVMMetricsHandlerTest.java
@@ -46,6 +46,8 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
+import static org.hamcrest.CoreMatchers.is;
+
public class JVMMetricsHandlerTest {
private static final String TOPIC_NAME = "skywalking-metrics";
private JVMMetricsHandler handler = null;
@@ -59,6 +61,8 @@ public class JVMMetricsHandlerTest {
@Override
protected void verify(final List<Source> sourceList) throws Throwable {
Assert.assertTrue(sourceList.get(0) instanceof ServiceInstanceJVMCPU);
+ ServiceInstanceJVMCPU serviceInstanceJVMCPU = (ServiceInstanceJVMCPU) sourceList.get(0);
+ Assert.assertThat(serviceInstanceJVMCPU.getUsePercent(), is(1.0));
Assert.assertTrue(sourceList.get(1) instanceof ServiceInstanceJVMMemory);
Assert.assertTrue(sourceList.get(2) instanceof ServiceInstanceJVMMemoryPool);
Assert.assertTrue(sourceList.get(3) instanceof ServiceInstanceJVMGC);