Make the cpu usage percent always greater than 1 (#5422)
* fix bug #5417, make the CPU usage percent always >= 1
This commit is contained in:
parent
30ce1959a7
commit
246ea6b38b
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue