ClassLoadingInfoCollector
private Map<String, Number> doClassLoadingCollect() {
ClassLoadingMXBean classLoadingMXBean = ManagementFactory.getClassLoadingMXBean();
Map<String, Number> map = new LinkedHashMap<String, Number>();
map.put("jvm.classloading.loaded.count", classLoadingMXBean.getLoadedClassCount());
map.put("jvm.classloading.totalloaded.count", classLoadingMXBean.getTotalLoadedClassCount());
map.put("jvm.classloading.unloaded.count", classLoadingMXBean.getUnloadedClassCount());
return map;
}
JvmInfoCollector
private Set<String> youngGcAlgorithm = new LinkedHashSet<String>() {
private static final long serialVersionUID = -2953196532584721351L;
{
add("Copy");
add("ParNew");
add("PS Scavenge");
add("G1 Young Generation");
}
};
private Set<String> oldGcAlgorithm = new LinkedHashSet<String>() {
private static final long serialVersionUID = -8267829533109860610L;
{
add("MarkSweepCompact");
add("PS MarkSweep");
add("ConcurrentMarkSweep");
add("G1 Old Generation");
}
};
private Map<String, Number> doGcCollect() {
long gcCount = 0;
long gcTime = 0;
long oldGCount = 0;
long oldGcTime = 0;
long youngGcCount = 0;
long youngGcTime = 0;
Map<String, Number> map = new LinkedHashMap<String, Number>();
for (final GarbageCollectorMXBean garbageCollector : ManagementFactory.getGarbageCollectorMXBeans()) {
gcTime += garbageCollector.getCollectionTime();
gcCount += garbageCollector.getCollectionCount();
String gcAlgorithm = garbageCollector.getName();
if (youngGcAlgorithm.contains(gcAlgorithm)) {
youngGcTime += garbageCollector.getCollectionTime();
youngGcCount += garbageCollector.getCollectionCount();
}