You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/02/21 05:13:32 UTC
git commit: fixing Agent's getMemoryConsumption to return system
memory and also fixing getLoadAverage to return a percentage
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 <ni...@apache.org>
Authored: Fri Feb 21 09:42:54 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
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() {