Merge 1.16 into 1.18
This commit is contained in:
commit
1ce0a833e9
|
|
@ -5,16 +5,23 @@ import java.lang.management.ThreadInfo;
|
|||
import java.lang.management.ThreadMXBean;
|
||||
|
||||
public class ThreadDumper {
|
||||
private static final String STACKTRACE_TAIL = "\t...\n\n";
|
||||
public static String obtainThreadDump() {
|
||||
ThreadMXBean threadmxbean = ManagementFactory.getThreadMXBean();
|
||||
ThreadInfo[] athreadinfo = threadmxbean.dumpAllThreads(true, true);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Thread Dump:\n");
|
||||
for(ThreadInfo threadinfo : athreadinfo) {
|
||||
sb.append(threadinfo);
|
||||
String tInfo = threadinfo.toString();
|
||||
StackTraceElement[] elements = threadinfo.getStackTrace();
|
||||
if(elements.length > 8) {
|
||||
sb.append("extended trace:\n");
|
||||
if(tInfo.endsWith(STACKTRACE_TAIL))
|
||||
tInfo = tInfo.substring(0, tInfo.length() - STACKTRACE_TAIL.length());
|
||||
else
|
||||
tInfo = tInfo + "extended trace:\n";
|
||||
}
|
||||
sb.append(tInfo);
|
||||
if(elements.length > 8) {
|
||||
for(int i = 8; i < elements.length; i++) {
|
||||
sb.append("\tat ");
|
||||
sb.append(elements[i]);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user