diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/CMSCollectorModule.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/CMSCollectorModule.java index edf086f8ff5361fca73467d64d411d59b6f3e8c0..f672abc66d369ee8ca3bd164d9751789fc0e0ac7 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/CMSCollectorModule.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/CMSCollectorModule.java @@ -29,27 +29,27 @@ public class CMSCollectorModule extends MemoryPoolModule { super(beans); } - @Override protected String getPermName() { - return "CMS Perm Gen"; + @Override protected String[] getPermNames() { + return new String[] {"CMS Perm Gen"}; } - @Override protected String getCodeCacheName() { - return "Code Cache"; + @Override protected String[] getCodeCacheNames() { + return new String[] {"Code Cache"}; } - @Override protected String getEdenName() { - return "Par Eden Space"; + @Override protected String[] getEdenNames() { + return new String[] {"Par Eden Space"}; } - @Override protected String getOldName() { - return "CMS Old Gen"; + @Override protected String[] getOldNames() { + return new String[] {"CMS Old Gen"}; } - @Override protected String getSurvivorName() { - return "Par Survivor Space"; + @Override protected String[] getSurvivorNames() { + return new String[] {"Par Survivor Space"}; } - @Override protected String getMetaspaceName() { - return "Metaspace"; + @Override protected String[] getMetaspaceNames() { + return new String[] {"Metaspace"}; } } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/G1CollectorModule.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/G1CollectorModule.java index 60a722ceaacda9fc9ea73827699259d3b11eb332..728d34e58f1640007ccb41efcd2f897db75d7586 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/G1CollectorModule.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/G1CollectorModule.java @@ -29,27 +29,27 @@ public class G1CollectorModule extends MemoryPoolModule { super(beans); } - @Override protected String getPermName() { - return "G1 Perm Gen"; + @Override protected String[] getPermNames() { + return new String[] {"G1 Perm Gen"}; } - @Override protected String getCodeCacheName() { - return "Code Cache"; + @Override protected String[] getCodeCacheNames() { + return new String[] {"Code Cache"}; } - @Override protected String getEdenName() { - return "G1 Eden Space"; + @Override protected String[] getEdenNames() { + return new String[] {"G1 Eden Space"}; } - @Override protected String getOldName() { - return "G1 Old Gen"; + @Override protected String[] getOldNames() { + return new String[] {"G1 Old Gen"}; } - @Override protected String getSurvivorName() { - return "G1 Survivor Space"; + @Override protected String[] getSurvivorNames() { + return new String[] {"G1 Survivor Space"}; } - @Override protected String getMetaspaceName() { - return "Metaspace"; + @Override protected String[] getMetaspaceNames() { + return new String[] {"Metaspace"}; } } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/MemoryPoolModule.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/MemoryPoolModule.java index f1914d36b05d0e8e39642a612de2558cf7d185e4..ef5cd8d560f8e1bac7cec03816204bedefa053c8 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/MemoryPoolModule.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/MemoryPoolModule.java @@ -40,18 +40,18 @@ public abstract class MemoryPoolModule implements MemoryPoolMetricAccessor { List poolList = new LinkedList(); for (MemoryPoolMXBean bean : beans) { String name = bean.getName(); - PoolType type = null; - if (name.equals(getCodeCacheName())) { + PoolType type; + if (contains(getCodeCacheNames(), name)) { type = PoolType.CODE_CACHE_USAGE; - } else if (name.equals(getEdenName())) { + } else if (contains(getEdenNames(), name)) { type = PoolType.NEWGEN_USAGE; - } else if (name.equals(getOldName())) { + } else if (contains(getOldNames(), name)) { type = PoolType.OLDGEN_USAGE; - } else if (name.equals(getSurvivorName())) { + } else if (contains(getSurvivorNames(), name)) { type = PoolType.SURVIVOR_USAGE; - } else if (name.equals(getMetaspaceName())) { + } else if (contains(getMetaspaceNames(), name)) { type = PoolType.METASPACE_USAGE; - } else if (name.equals(getPermName())) { + } else if (contains(getPermNames(), name)) { type = PoolType.PERMGEN_USAGE; } else { continue; @@ -68,15 +68,24 @@ public abstract class MemoryPoolModule implements MemoryPoolMetricAccessor { return poolList; } - protected abstract String getPermName(); + private boolean contains(String[] possibleNames, String name) { + for (String possibleName : possibleNames) { + if (name.equals(possibleName)) { + return true; + } + } + return false; + } + + protected abstract String[] getPermNames(); - protected abstract String getCodeCacheName(); + protected abstract String[] getCodeCacheNames(); - protected abstract String getEdenName(); + protected abstract String[] getEdenNames(); - protected abstract String getOldName(); + protected abstract String[] getOldNames(); - protected abstract String getSurvivorName(); + protected abstract String[] getSurvivorNames(); - protected abstract String getMetaspaceName(); + protected abstract String[] getMetaspaceNames(); } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/ParallelCollectorModule.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/ParallelCollectorModule.java index 66240a352b032511c19c670921fee1a037842ad9..6bbac35ca7164daac3b3c919de3c698d7c16ff65 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/ParallelCollectorModule.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/ParallelCollectorModule.java @@ -30,27 +30,27 @@ public class ParallelCollectorModule extends MemoryPoolModule { super(beans); } - @Override protected String getPermName() { - return "PS Perm Gen"; + @Override protected String[] getPermNames() { + return new String[] {"PS Perm Gen", "Compressed Class Space"}; } - @Override protected String getCodeCacheName() { - return "Code Cache"; + @Override protected String[] getCodeCacheNames() { + return new String[] {"Code Cache"}; } - @Override protected String getEdenName() { - return "PS Eden Space"; + @Override protected String[] getEdenNames() { + return new String[] {"PS Eden Space"}; } - @Override protected String getOldName() { - return "PS Old Gen"; + @Override protected String[] getOldNames() { + return new String[] {"PS Old Gen"}; } - @Override protected String getSurvivorName() { - return "PS Survivor Space"; + @Override protected String[] getSurvivorNames() { + return new String[] {"PS Survivor Space"}; } - @Override protected String getMetaspaceName() { - return "Metaspace"; + @Override protected String[] getMetaspaceNames() { + return new String[] {"Metaspace"}; } } diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/SerialCollectorModule.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/SerialCollectorModule.java index 99a60dfed848affb1f3ac709b084b02dd5613e71..97b3e4b4f61bcdaa34ade122b5ed9164d7df315e 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/SerialCollectorModule.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/jvm/memorypool/SerialCollectorModule.java @@ -29,27 +29,27 @@ public class SerialCollectorModule extends MemoryPoolModule { super(beans); } - @Override protected String getPermName() { - return "Perm Gen"; + @Override protected String[] getPermNames() { + return new String[] {"Perm Gen"}; } - @Override protected String getCodeCacheName() { - return "Code Cache"; + @Override protected String[] getCodeCacheNames() { + return new String[] {"Code Cache"}; } - @Override protected String getEdenName() { - return "Eden Space"; + @Override protected String[] getEdenNames() { + return new String[] {"Eden Space"}; } - @Override protected String getOldName() { - return "Tenured Gen"; + @Override protected String[] getOldNames() { + return new String[] {"Tenured Gen"}; } - @Override protected String getSurvivorName() { - return "Survivor Space"; + @Override protected String[] getSurvivorNames() { + return new String[] {"Survivor Space"}; } - @Override protected String getMetaspaceName() { - return "Metaspace"; + @Override protected String[] getMetaspaceNames() { + return new String[] {"Metaspace"}; } }