diff options
author | Luck <git@lucko.me> | 2021-03-23 00:52:44 +0000 |
---|---|---|
committer | Luck <git@lucko.me> | 2021-03-23 00:52:44 +0000 |
commit | 0fd7d30f2a9027c2bd9df3215759c6d91d110acc (patch) | |
tree | bdf02fa8b7c6dfc7dc6db5eaaabeb1e17189d420 /spark-common/src/main/java/me/lucko/spark/common/heapdump | |
parent | 9766754d28fcbca1ccbeefc11ef7a88a4e3d7946 (diff) | |
download | spark-0fd7d30f2a9027c2bd9df3215759c6d91d110acc.tar.gz spark-0fd7d30f2a9027c2bd9df3215759c6d91d110acc.tar.bz2 spark-0fd7d30f2a9027c2bd9df3215759c6d91d110acc.zip |
Refactor and tidy up, more consistent code style
Diffstat (limited to 'spark-common/src/main/java/me/lucko/spark/common/heapdump')
-rw-r--r-- | spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDump.java | 24 | ||||
-rw-r--r-- | spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDumpSummary.java | 1 |
2 files changed, 17 insertions, 8 deletions
diff --git a/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDump.java b/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDump.java index 975dbb3..955bafe 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDump.java +++ b/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDump.java @@ -49,18 +49,26 @@ public enum HeapDump { String outputPathString = outputPath.toAbsolutePath().normalize().toString(); if (isOpenJ9()) { - Class<?> dumpClass = Class.forName("com.ibm.jvm.Dump"); - Method heapDumpMethod = dumpClass.getMethod("heapDumpToFile", String.class); - heapDumpMethod.invoke(null, outputPathString); + dumpOpenJ9(outputPathString); } else { - MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer(); - ObjectName diagnosticBeanName = ObjectName.getInstance(DIAGNOSTIC_BEAN); - - HotSpotDiagnosticMXBean proxy = JMX.newMXBeanProxy(beanServer, diagnosticBeanName, HotSpotDiagnosticMXBean.class); - proxy.dumpHeap(outputPathString, live); + dumpHotspot(outputPathString, live); } } + private static void dumpOpenJ9(String outputPathString) throws Exception { + Class<?> dumpClass = Class.forName("com.ibm.jvm.Dump"); + Method heapDumpMethod = dumpClass.getMethod("heapDumpToFile", String.class); + heapDumpMethod.invoke(null, outputPathString); + } + + private static void dumpHotspot(String outputPathString, boolean live) throws Exception { + MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer(); + ObjectName diagnosticBeanName = ObjectName.getInstance(DIAGNOSTIC_BEAN); + + HotSpotDiagnosticMXBean proxy = JMX.newMXBeanProxy(beanServer, diagnosticBeanName, HotSpotDiagnosticMXBean.class); + proxy.dumpHeap(outputPathString, live); + } + public static boolean isOpenJ9() { try { Class.forName("com.ibm.jvm.Dump"); diff --git a/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDumpSummary.java b/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDumpSummary.java index 61ffd71..a1ad819 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDumpSummary.java +++ b/spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDumpSummary.java @@ -25,6 +25,7 @@ import me.lucko.spark.common.platform.PlatformInfo; import me.lucko.spark.proto.SparkProtos; import me.lucko.spark.proto.SparkProtos.HeapData; import me.lucko.spark.proto.SparkProtos.HeapEntry; + import org.objectweb.asm.Type; import java.io.ByteArrayOutputStream; |