in src/main/java/org/opensearch/performanceanalyzer/jvm/HeapMetrics.java [42:75]
static {
memoryUsageSuppliers = new HashMap<>();
MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
if (memoryMXBean != null) {
memoryUsageSuppliers.put("Heap", () -> memoryMXBean.getHeapMemoryUsage());
memoryUsageSuppliers.put("NonHeap", () -> memoryMXBean.getNonHeapMemoryUsage());
}
List<MemoryPoolMXBean> list = ManagementFactory.getMemoryPoolMXBeans();
for (MemoryPoolMXBean item : list) {
if ("CMS Perm Gen".equals(item.getName())
|| "Perm Gen".equals(item.getName())
|| "PS Perm Gen".equals(item.getName())
|| "G1 Perm Gen".equals(item.getName())
|| "Metaspace".equals(item.getName())) {
memoryUsageSuppliers.put("PermGen", () -> item.getUsage());
} else if ("CMS Old Gen".equals(item.getName())
|| "Tenured Gen".equals(item.getName())
|| "PS Old Gen".equals(item.getName())
|| "G1 Old Gen".equals(item.getName())) {
memoryUsageSuppliers.put("OldGen", () -> item.getUsage());
} else if ("Par Eden Space".equals(item.getName())
|| "Eden Space".equals(item.getName())
|| "PS Eden Space".equals(item.getName())
|| "G1 Eden".equals(item.getName())) {
memoryUsageSuppliers.put("Eden", () -> item.getUsage());
} else if ("Par Survivor Space".equals(item.getName())
|| "Survivor Space".equals(item.getName())
|| "PS Survivor Space".equals(item.getName())
|| "G1 Survivor".equals(item.getName())) {
memoryUsageSuppliers.put("Survivor", () -> item.getUsage());
}
}
}