aboutsummaryrefslogtreecommitdiff
path: root/spark-common/src/main/java/me/lucko/spark/common/heapdump
diff options
context:
space:
mode:
authorLuck <git@lucko.me>2021-03-23 00:52:44 +0000
committerLuck <git@lucko.me>2021-03-23 00:52:44 +0000
commit0fd7d30f2a9027c2bd9df3215759c6d91d110acc (patch)
treebdf02fa8b7c6dfc7dc6db5eaaabeb1e17189d420 /spark-common/src/main/java/me/lucko/spark/common/heapdump
parent9766754d28fcbca1ccbeefc11ef7a88a4e3d7946 (diff)
downloadspark-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.java24
-rw-r--r--spark-common/src/main/java/me/lucko/spark/common/heapdump/HeapDumpSummary.java1
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;