From bf7efaa98dcaf445d76c648f953f826863b0fdec Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 3 May 2017 13:59:53 +0530 Subject: [PATCH] cw1314: Fix high CPU deviation issues seen in metrics view HostStats returns cpu usage in percentage while memory usage in bytes. This fixes a regression in maximum CPU usage deviation that did not assume the values to be in percentage and multiple the final ratios with 100 which leads to 100x the actual deviation value. Signed-off-by: Rohit Yadav --- .../cloudstack/response/ClusterMetricsResponse.java | 8 ++++---- .../apache/cloudstack/response/ZoneMetricsResponse.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/metrics/src/org/apache/cloudstack/response/ClusterMetricsResponse.java b/plugins/metrics/src/org/apache/cloudstack/response/ClusterMetricsResponse.java index dde1ab76327..1ee2184d7a6 100644 --- a/plugins/metrics/src/org/apache/cloudstack/response/ClusterMetricsResponse.java +++ b/plugins/metrics/src/org/apache/cloudstack/response/ClusterMetricsResponse.java @@ -128,10 +128,10 @@ public class ClusterMetricsResponse extends ClusterResponse { } } - public void setCpuMaxDeviation(final Double maxCpuDeviation, final Double totalCpuUsed, final Long totalHosts) { - if (maxCpuDeviation != null && totalCpuUsed != null && totalHosts != null && totalHosts != 0) { - final Double averageCpuUsage = totalCpuUsed / totalHosts; - this.cpuMaxDeviation = String.format("%.2f%%", (maxCpuDeviation - averageCpuUsage) * 100.0 / averageCpuUsage); + public void setCpuMaxDeviation(final Double maxCpuUsagePercentage, final Double totalCpuUsedPercentage, final Long totalHosts) { + if (maxCpuUsagePercentage != null && totalCpuUsedPercentage != null && totalHosts != null && totalHosts != 0) { + final Double averageCpuUsagePercentage = totalCpuUsedPercentage / totalHosts; + this.cpuMaxDeviation = String.format("%.2f%%", (maxCpuUsagePercentage - averageCpuUsagePercentage) * 1.0 / averageCpuUsagePercentage); } } diff --git a/plugins/metrics/src/org/apache/cloudstack/response/ZoneMetricsResponse.java b/plugins/metrics/src/org/apache/cloudstack/response/ZoneMetricsResponse.java index 71560178564..8c4dea67d38 100644 --- a/plugins/metrics/src/org/apache/cloudstack/response/ZoneMetricsResponse.java +++ b/plugins/metrics/src/org/apache/cloudstack/response/ZoneMetricsResponse.java @@ -123,10 +123,10 @@ public class ZoneMetricsResponse extends ZoneResponse { } } - public void setCpuMaxDeviation(final Double maxCpuDeviation, final Double totalCpuUsed, final Long totalHosts) { - if (maxCpuDeviation != null && totalCpuUsed != null && totalHosts != null && totalHosts != 0) { - final Double averageCpuUsage = totalCpuUsed / totalHosts; - this.cpuMaxDeviation = String.format("%.2f%%", (maxCpuDeviation - averageCpuUsage) * 100.0 / averageCpuUsage); + public void setCpuMaxDeviation(final Double maxCpuUsagePercentage, final Double totalCpuUsedPercentage, final Long totalHosts) { + if (maxCpuUsagePercentage != null && totalCpuUsedPercentage != null && totalHosts != null && totalHosts != 0) { + final Double averageCpuUsagePercentage = totalCpuUsedPercentage / totalHosts; + this.cpuMaxDeviation = String.format("%.2f%%", (maxCpuUsagePercentage - averageCpuUsagePercentage) * 1.0 / averageCpuUsagePercentage); } }