package ch.epfl.gsn.monitoring;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.util.Hashtable;
public class MemoryMonitor implements Monitorable {
private MemoryMXBean mbean = ManagementFactory.getMemoryMXBean( );
public Hashtable<String, Object> getStatistics(){
Hashtable<String, Object> stat = new Hashtable<String, Object>();
stat.put("core.memory.heap.gauge", mbean.getHeapMemoryUsage().getUsed());
stat.put("core.memory.nonHeap.gauge", mbean.getNonHeapMemoryUsage().getUsed());
stat.put("core.memory.pendingFinalizationCount.gauge", mbean.getObjectPendingFinalizationCount());
return stat;
}
}