From 62d01382a70286ba080a7e658f15bd3b16bf457a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Thu, 27 Jun 2019 07:29:45 +0800 Subject: [PATCH] Fix CPU is 0. (#2952) --- .../apm/agent/core/jvm/cpu/CPUMetricsAccessor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/jvm/cpu/CPUMetricsAccessor.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/jvm/cpu/CPUMetricsAccessor.java index 174d209b5d..140a3d1eed 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/jvm/cpu/CPUMetricsAccessor.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/jvm/cpu/CPUMetricsAccessor.java @@ -22,6 +22,9 @@ package org.apache.skywalking.apm.agent.core.jvm.cpu; import org.apache.skywalking.apm.network.common.CPU; /** + * The unit of CPU usage is 1/10000. + * The backend is using `avg` func directly, and query for percentage requires this unit. + * * @author wusheng */ public abstract class CPUMetricsAccessor { @@ -46,6 +49,6 @@ public abstract class CPUMetricsAccessor { long now = System.nanoTime(); CPU.Builder cpuBuilder = CPU.newBuilder(); - return cpuBuilder.setUsagePercent(cpuCost * 1.0d / ((now - lastSampleTimeNs) * cpuCoreNum) * 100).build(); + return cpuBuilder.setUsagePercent(cpuCost * 1.0d / ((now - lastSampleTimeNs) * cpuCoreNum) * 10000).build(); } } -- GitLab