Merge 1.18 into 1.19.2

This commit is contained in:
embeddedt 2023-08-15 22:03:46 -04:00
commit 6b7a300a2e
No known key found for this signature in database
GPG Key ID: A69433EC199B5613

View File

@ -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]);