java.lang.management.ThreadMXBean.dumpAllThreads()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(133)

本文整理了Java中java.lang.management.ThreadMXBean.dumpAllThreads()方法的一些代码示例,展示了ThreadMXBean.dumpAllThreads()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ThreadMXBean.dumpAllThreads()方法的具体详情如下:
包路径:java.lang.management.ThreadMXBean
类名称:ThreadMXBean
方法名:dumpAllThreads

ThreadMXBean.dumpAllThreads介绍

暂无

代码示例

代码示例来源:origin: org.scala-lang/scala-compiler

@Override
public ThreadInfo[] dumpAllThreads(boolean lockedMonitors, boolean lockedSynchronizers) {
  return underlying.dumpAllThreads(lockedMonitors, lockedSynchronizers);
}

代码示例来源:origin: apache/incubator-dubbo

public static void jstack(OutputStream stream) throws Exception {
  ThreadMXBean threadMxBean = ManagementFactory.getThreadMXBean();
  for (ThreadInfo threadInfo : threadMxBean.dumpAllThreads(true, true)) {
    stream.write(getThreadDumpString(threadInfo).getBytes());
  }
}

代码示例来源:origin: apache/incubator-dubbo

public static void jstack(OutputStream stream) throws Exception {
  ThreadMXBean threadMxBean = ManagementFactory.getThreadMXBean();
  for (ThreadInfo threadInfo : threadMxBean.dumpAllThreads(true, true)) {
    stream.write(getThreadDumpString(threadInfo).getBytes());
  }
}

代码示例来源:origin: stackoverflow.com

ThreadMXBean bean = ManagementFactory.getThreadMXBean();
ThreadInfo[] infos = bean.dumpAllThreads(true, true);

for (ThreadInfo info : infos) {
 StackTraceElement[] elems = info.getStackTrace();
 // Print out elements, etc.
}

代码示例来源:origin: org.assertj/assertj-core

public static String threadDumpDescription() {
  StringBuilder threadDumpDescription = new StringBuilder();
  ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
  ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
  for (ThreadInfo threadInfo : threadInfos) {
   threadDumpDescription.append(format("\"%s\"%n\tjava.lang.Thread.State: %s",
                     threadInfo.getThreadName(), threadInfo.getThreadState()));
   for (StackTraceElement stackTraceElement : threadInfo.getStackTrace()) {
    threadDumpDescription.append(LINE_SEPARATOR).append("\t\tat ").append(stackTraceElement);
   }
   threadDumpDescription.append(LINE_SEPARATOR).append(LINE_SEPARATOR);
  }
  return threadDumpDescription.toString();
 }
}

代码示例来源:origin: aragozin/jvm-tools

public void prime() {
  ThreadInfo[] ti = threading.dumpAllThreads(false, false);
  long[] tids = new long[ti.length];
  int n = 0;
  for(ThreadInfo t:ti) {
    long tid = t.getThreadId();
    String name = t.getThreadName();
    if (threadFilter == null || threadFilter.matcher(name).matches()) {
      tids[n++] = tid;
    }                
  }
  tids = Arrays.copyOf(tids, n);
  threadSet = tids;
}

代码示例来源:origin: jenkinsci/jenkins

public static ThreadInfo[] getThreadInfos() {
  ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
  return mbean.dumpAllThreads(mbean.isObjectMonitorUsageSupported(),mbean.isSynchronizerUsageSupported());
}

代码示例来源:origin: com.h2database/h2

private void tick() {
  if (tickIntervalMs > 0) {
    try {
      Thread.sleep(tickIntervalMs);
    } catch (InterruptedException ex) {
      // ignore
    }
  }
  ThreadInfo[] list = threadMXBean.dumpAllThreads(
      // lockedMonitors
      true,
      // lockedSynchronizers
      false);
  processThreadList(list);
}

代码示例来源:origin: kiegroup/drools

private synchronized void writeThreadDump() throws IOException {
  final ThreadMXBean threadMxBean = ManagementFactory.getThreadMXBean();
  for (final ThreadInfo ti : threadMxBean.dumpAllThreads(true, true)) {
    writer.write( ti.toString() );
    if ( ti.getStackTrace().length > 8 ) { writer.write("full stacktrace:\n"); writer.write(fullStackTrace(ti)); writer.write("\n"); }
  }
  writer.newLine();
  writer.flush();
}

代码示例来源:origin: joel-costigliola/assertj-core

public static String threadDumpDescription() {
  StringBuilder threadDumpDescription = new StringBuilder();
  ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
  ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
  for (ThreadInfo threadInfo : threadInfos) {
   threadDumpDescription.append(format("\"%s\"%n\tjava.lang.Thread.State: %s",
                     threadInfo.getThreadName(), threadInfo.getThreadState()));
   for (StackTraceElement stackTraceElement : threadInfo.getStackTrace()) {
    threadDumpDescription.append(LINE_SEPARATOR).append("\t\tat ").append(stackTraceElement);
   }
   threadDumpDescription.append(LINE_SEPARATOR).append(LINE_SEPARATOR);
  }
  return threadDumpDescription.toString();
 }
}

代码示例来源:origin: aragozin/jvm-tools

/**
 * Find threads according to thread name filters and memorise their IDs.
 * <br/>
 * Optional method to avoid dump all threads at every collection.
 */
public void prime() {
  ThreadInfo[] ti = threading.dumpAllThreads(false, false);
  long[] tids = new long[ti.length];
  int n = 0;
  for(ThreadInfo t:ti) {
    long tid = t.getThreadId();
    String name = t.getThreadName();
    if (threadFilter == null || threadFilter.accept(name)) {
      tids[n++] = tid;
    }
  }
  tids = Arrays.copyOf(tids, n);
  threadSet = tids;
}

代码示例来源:origin: ben-manes/caffeine

/**
 * A debugging tool to print all stack traces, as jstack does.
 */
static void printAllStackTraces() {
  for (ThreadInfo info :
       ManagementFactory.getThreadMXBean()
       .dumpAllThreads(true, true)) {
   System.err.print(info);
  }
}

代码示例来源:origin: scouter-project/scouter

public List<String> takeThreadDump() throws Exception {
  ThreadMXBean threadMXBean = this.mXBean;
  if ( threadMXBean == null ) {
    return null;
  }
  List<String> list = new ArrayList<String>(100);
  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  list.add(df.format(new Date()));
  list.add(headerString);
  ThreadInfo[] threads;
  if ( hasDumpAllThreads ) {
    threads = threadMXBean.dumpAllThreads(true, true);
  } else {
    long[] threadIds = threadMXBean.getAllThreadIds();
    threads = threadMXBean.getThreadInfo(threadIds, 2147483647);
  }
  printThreads(list, threadMXBean, threads);
  return list;
}

代码示例来源:origin: scouter-project/scouter

public List<String> takeThreadDump() throws Exception {
  ThreadMXBean threadMXBean = this.mXBean;
  if ( threadMXBean == null ) {
    return null;
  }
  List<String> list = new ArrayList<String>(100);
  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  list.add(df.format(new Date()));
  list.add(headerString);
  ThreadInfo[] threads;
  if ( hasDumpAllThreads ) {
    threads = threadMXBean.dumpAllThreads(true, true);
  } else {
    long[] threadIds = threadMXBean.getAllThreadIds();
    threads = threadMXBean.getThreadInfo(threadIds, 2147483647);
  }
  printThreads(list, threadMXBean, threads);
  return list;
}

代码示例来源:origin: scouter-project/scouter

public List<String> takeThreadDump() throws Exception {
  ThreadMXBean threadMXBean = this.mXBean;
  if ( threadMXBean == null ) {
    return null;
  }
  List<String> list = new ArrayList<String>(100);
  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  list.add(df.format(new Date()));
  list.add(headerString);
  ThreadInfo[] threads;
  if ( hasDumpAllThreads ) {
    threads = threadMXBean.dumpAllThreads(true, true);
  } else {
    long[] threadIds = threadMXBean.getAllThreadIds();
    threads = threadMXBean.getThreadInfo(threadIds, 2147483647);
  }
  printThreads(list, threadMXBean, threads);
  return list;
}

代码示例来源:origin: scouter-project/scouter

public List<String> takeThreadDump() throws Exception {
  ThreadMXBean threadMXBean = this.mXBean;
  if ( threadMXBean == null ) {
    return null;
  }
  List<String> list = new ArrayList<String>(100);
  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  list.add(df.format(new Date()));
  list.add(headerString);
  ThreadInfo[] threads;
  if ( hasDumpAllThreads ) {
    threads = threadMXBean.dumpAllThreads(true, true);
  } else {
    long[] threadIds = threadMXBean.getAllThreadIds();
    threads = threadMXBean.getThreadInfo(threadIds, 2147483647);
  }
  printThreads(list, threadMXBean, threads);
  return list;
}

代码示例来源:origin: linkedin/parseq

private void dumpThreadInfoWithLocks(StringBuilder out) {
 ThreadInfo[] tinfos = tmbean.dumpAllThreads(true, true);
 for (ThreadInfo ti : tinfos) {
  dumpThreadInfo(ti, out);
  LockInfo[] syncs = ti.getLockedSynchronizers();
  dumpLockInfo(syncs, out);
 }
 out.append("\n");
 findDeadlock(out);
}

代码示例来源:origin: apache/ignite

/** {@inheritDoc} */
@Override protected VisorThreadDumpTaskResult run(Void arg) {
  ThreadMXBean mx = U.getThreadMx();
  ThreadInfo[] info = mx.dumpAllThreads(true, true);
  VisorThreadInfo[] visorInfo = new VisorThreadInfo[info.length];
  for (int i = 0; i < info.length; i++)
    visorInfo[i] = new VisorThreadInfo(info[i]);
  return new VisorThreadDumpTaskResult(visorInfo, mx.findDeadlockedThreads());
}

代码示例来源:origin: ehcache/ehcache3

@After
public void tearDown() throws Exception {
 if (doThreadDump) {
  System.out.println("Performing thread dump");
  ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
  ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
  Arrays.stream(threadInfos).forEach(System.out::println);
 }
 if (cacheManager != null) {
  cacheManager.close();
  cacheManager.destroy();
 }
}

代码示例来源:origin: ehcache/ehcache3

/**
 * Writes a complete thread dump to the designated {@code PrintStream}.
 *
 * @param out the {@code PrintStream} to which the thread dump is written
 */
public static void threadDump(final PrintStream out) {
 if (out == null) {
  throw new NullPointerException("out");
 }
 final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
 final Calendar when = Calendar.getInstance();
 final ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(
   threadMXBean.isObjectMonitorUsageSupported(), threadMXBean.isSynchronizerUsageSupported());
 out.format("%nFull thread dump %1$tF %1$tT.%1$tL %1$tz%n", when);
 for (final ThreadInfo threadInfo : threadInfos) {
  out.print(format(threadInfo));
 }
}

相关文章

微信公众号

最新文章

更多