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

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

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

ThreadMXBean.getAllThreadIds介绍

暂无

代码示例

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

@Override
public long[] getAllThreadIds() {
  return underlying.getAllThreadIds();
}

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

/**
 * Dump all deadlocks (if any).
 *
 * @param msg the message
 * @param out the output
 */
public static void dumpAllThreadsAndLocks(String msg, PrintStream out) {
  final ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
  final long[] allThreadIds = threadBean.getAllThreadIds();
  dumpThreadsAndLocks(msg, threadBean, allThreadIds, out);
}

代码示例来源:origin: alibaba/jstorm

public static String threadDump() {
  final StringBuilder dump = new StringBuilder();
  final java.lang.management.ThreadMXBean threadMXBean = java.lang.management.ManagementFactory.getThreadMXBean();
  final java.lang.management.ThreadInfo[] threadInfos = threadMXBean.getThreadInfo(threadMXBean.getAllThreadIds(), 100);
  for (java.lang.management.ThreadInfo threadInfo : threadInfos) {
    dump.append('"');
    dump.append(threadInfo.getThreadName());
    dump.append("\" ");
    final Thread.State state = threadInfo.getThreadState();
    dump.append("\n   java.lang.Thread.State: ");
    dump.append(state);
    final StackTraceElement[] stackTraceElements = threadInfo.getStackTrace();
    for (final StackTraceElement stackTraceElement : stackTraceElements) {
      dump.append("\n        at ");
      dump.append(stackTraceElement);
    }
    dump.append("\n\n");
  }
  return dump.toString();
}

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

/**
 * @return JVM thread list
 */
public String[] fetchJvmThreads() {
 long threadIds[] = threadMXBean.getAllThreadIds();
 ThreadInfo[] threadInfos = threadMXBean.getThreadInfo(threadIds, 0);
 if (threadInfos == null || threadInfos.length < 1) {
  return ManagementConstants.NO_DATA_STRING;
 }
 ArrayList<String> thrdStr = new ArrayList<String>(threadInfos.length);
 for (ThreadInfo thInfo : threadInfos) {
  if (thInfo != null) {
   thrdStr.add(thInfo.getThreadName());
  }
 }
 String[] result = new String[thrdStr.size()];
 return thrdStr.toArray(result);
}

代码示例来源:origin: prestodb/presto

@GET
@Path("/v1/thread")
@Produces(MediaType.APPLICATION_JSON)
public List<Info> getThreadInfo()
{
  ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
  ImmutableList.Builder<Info> builder = ImmutableList.builder();
  for (ThreadInfo info : mbean.getThreadInfo(mbean.getAllThreadIds(), Integer.MAX_VALUE)) {
    builder.add(new Info(
        info.getThreadId(),
        info.getThreadName(),
        info.getThreadState().name(),
        info.getLockOwnerId() == -1 ? null : info.getLockOwnerId(),
        toStackTrace(info.getStackTrace())));
  }
  return Ordering.from(byName()).sortedCopy(builder.build());
}

代码示例来源: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: apache/geode

/** dumps this vm's stacks and returns gzipped result */
public static byte[] zipStacks() throws IOException {
 ThreadMXBean bean = ManagementFactory.getThreadMXBean();
 long[] threadIds = bean.getAllThreadIds();
 ThreadInfo[] infos = bean.getThreadInfo(threadIds, true, true);
 long thisThread = Thread.currentThread().getId();
 ByteArrayOutputStream baos = new ByteArrayOutputStream(10000);
 GZIPOutputStream zipOut = new GZIPOutputStream(baos, 10000);
 PrintWriter pw = new PrintWriter(zipOut, true);
 for (int i = 0; i < infos.length; i++) {
  if (i != thisThread && infos[i] != null) {
   formatThreadInfo(infos[i], pw);
  }
 }
 pw.flush();
 zipOut.close();
 byte[] result = baos.toByteArray();
 return result;
}

代码示例来源: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: apache/storm

final StringBuilder dump = new StringBuilder();
final java.lang.management.ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
final java.lang.management.ThreadInfo[] threadInfos = threadMXBean.getThreadInfo(threadMXBean.getAllThreadIds(), 100);
for (Entry<Thread, StackTraceElement[]> entry: Thread.getAllStackTraces().entrySet()) {
  Thread t = entry.getKey();

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

private void dumpThreadInfo(StringBuilder out) {
 long[] tids = tmbean.getAllThreadIds();
 ThreadInfo[] tinfos = tmbean.getThreadInfo(tids, Integer.MAX_VALUE);
 for (ThreadInfo ti : tinfos) {
  dumpThreadInfo(ti, out);
 }
 out.append("\n");
 findDeadlock(out);
}

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

private boolean verifyBulkCpu() {
  try {
    long[] ids = mbean.getAllThreadIds();
    ((ThreadMXBeanEx)mbean).getThreadCpuTime(ids);
    ((ThreadMXBeanEx)mbean).getThreadUserTime(ids);
    return true;
  } catch (Exception e) {
    return false;
  }
}

代码示例来源:origin: Netflix/servo

private int countThreadsWithName(String prefix) {
 final ThreadMXBean bean = ManagementFactory.getThreadMXBean();
 final long[] ids = bean.getAllThreadIds();
 final ThreadInfo[] infos = bean.getThreadInfo(ids);
 int count = 0;
 for (ThreadInfo info : infos) {
  if (info != null && info.getThreadName().startsWith(prefix)) {
   ++count;
  }
 }
 return count;
}

代码示例来源:origin: wildfly/wildfly

public static String dumpThreads() {
  StringBuilder sb=new StringBuilder();
  ThreadMXBean bean=ManagementFactory.getThreadMXBean();
  long[] ids=bean.getAllThreadIds();
  _printThreads(bean,ids,sb);
  long[] deadlocks=bean.findDeadlockedThreads();
  if(deadlocks != null && deadlocks.length > 0) {
    sb.append("deadlocked threads:\n");
    _printThreads(bean,deadlocks,sb);
  }
  deadlocks=bean.findMonitorDeadlockedThreads();
  if(deadlocks != null && deadlocks.length > 0) {
    sb.append("monitor deadlocked threads:\n");
    _printThreads(bean,deadlocks,sb);
  }
  return sb.toString();
}

代码示例来源:origin: real-logic/aeron

public static String threadDump()
  {
    final StringBuilder sb = new StringBuilder();
    final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();

    for (final ThreadInfo info : threadMXBean.getThreadInfo(threadMXBean.getAllThreadIds(), Integer.MAX_VALUE))
    {
      sb.append('"').append(info.getThreadName()).append("\": ").append(info.getThreadState());

      for (final StackTraceElement stackTraceElement : info.getStackTrace())
      {
        sb.append("\n    at ").append(stackTraceElement.toString());
      }

      sb.append("\n\n");
    }

    return sb.toString();
  }
}

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

private static String generateThreadDump() {
  final StringBuilder dump = new StringBuilder();
  final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
  final ThreadInfo[] threadInfos = threadMXBean.getThreadInfo(threadMXBean.getAllThreadIds(), 100);
  for (ThreadInfo threadInfo : threadInfos) {
    dump.append('"');
    dump.append(threadInfo.getThreadName());
    dump.append('"');
    final Thread.State state = threadInfo.getThreadState();
    dump.append(System.lineSeparator());
    dump.append("   java.lang.Thread.State: ");
    dump.append(state);
    final StackTraceElement[] stackTraceElements = threadInfo.getStackTrace();
    for (final StackTraceElement stackTraceElement : stackTraceElements) {
      dump.append(System.lineSeparator());
      dump.append("        at ");
      dump.append(stackTraceElement);
    }
    dump.append(System.lineSeparator());
    dump.append(System.lineSeparator());
  }
  return dump.toString();
}

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

/**
  * Assert that there are no threads running whose name matches the
  * given regular expression.
  * @param regex the regex to match against
  */
 public static void assertNoThreadsMatching(String regex) {
  Pattern pattern = Pattern.compile(regex);
  ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();

  ThreadInfo[] infos = threadBean.getThreadInfo(threadBean.getAllThreadIds(), 20);
  for (ThreadInfo info : infos) {
   if (info == null) continue;
   if (pattern.matcher(info.getThreadName()).matches()) {
    Assert.fail("Leaked thread: " + info + "\n" +
      Joiner.on("\n").join(info.getStackTrace()));
   }
  }
 }
}

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

private void updateThreadMetrics(MetricsRecordBuilder rb) {
 if (threadMXBean.isThreadCpuTimeSupported() && threadMXBean.isThreadCpuTimeEnabled()) {
  final long[] ids = threadMXBean.getAllThreadIds();
  final ThreadInfo[] infos = threadMXBean.getThreadInfo(ids);
  for (int i = 0; i < ids.length; i++) {
   ThreadInfo threadInfo = infos[i];
   if (threadInfo == null) {
    continue;
   }
   String threadName = threadInfo.getThreadName();
   long threadId = ids[i];
   Integer id = executorNames.get(threadName);
   if (id != null) {
    executorThreadCpuTime[id].set(threadMXBean.getThreadCpuTime(threadId));
    executorThreadUserTime[id].set(threadMXBean.getThreadUserTime(threadId));
   }
  }
  for (int i=0; i<numExecutors; i++) {
   rb.addGauge(cpuMetricsInfoMap.get(i), executorThreadCpuTime[i].value());
   rb.addGauge(userMetricsInfoMap.get(i), executorThreadUserTime[i].value());
  }
 }
}

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

long[] allThreadIds = threadMXBean.getAllThreadIds();

相关文章

微信公众号

最新文章

更多