Repository: incubator-stratos Updated Branches: refs/heads/master cce353862 -> 228b8826f
fixing Agent's getMemoryConsumption to return system memory and also fixing getLoadAverage to return a percentage Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/228b8826 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/228b8826 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/228b8826 Branch: refs/heads/master Commit: 228b8826f6f8c7ea31cf531c2a2cbe0dd7573d90 Parents: cce3538 Author: Nirmal Fernando <[email protected]> Authored: Fri Feb 21 09:42:54 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Fri Feb 21 09:42:54 2014 +0530 ---------------------------------------------------------------------- .../statistics/publisher/HealthStatisticsReader.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/228b8826/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsReader.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsReader.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsReader.java index ce7e639..fb569d2 100644 --- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsReader.java +++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/statistics/publisher/HealthStatisticsReader.java @@ -23,6 +23,7 @@ import org.apache.stratos.cartridge.agent.config.CartridgeAgentConfiguration; import org.apache.stratos.cartridge.agent.util.CartridgeAgentUtils; import java.lang.management.ManagementFactory; +import com.sun.management.OperatingSystemMXBean; /** * Health statistics reader. @@ -31,15 +32,18 @@ public class HealthStatisticsReader { private static final int MB = 1024 * 1024; public static double getMemoryConsumption() { - Runtime runtime = Runtime.getRuntime(); - double totalMemory = (double)(runtime.totalMemory() / MB); - double usedMemory = (double)((totalMemory - (runtime.freeMemory() / MB) )); + OperatingSystemMXBean osBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); + double totalMemory = (double)(osBean.getTotalPhysicalMemorySize()/ MB); + double usedMemory = (double)((totalMemory - (osBean.getFreePhysicalMemorySize() / MB) )); double memoryConsumption = (usedMemory / totalMemory) * 100; return memoryConsumption; } public static double getLoadAverage() { - return (double)ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage(); + double loadAvg = (double)ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage(); + // assume system cores = available cores to JVM + int cores = ManagementFactory.getOperatingSystemMXBean().getAvailableProcessors(); + return (loadAvg/cores) * 100; } public static boolean allPortsActive() {
