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() {

Reply via email to