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

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

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

ThreadMXBean.getThreadInfo介绍

暂无

代码示例

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

public static ThreadInfo getThreadInfo(Thread t) {
 long tid = t.getId();
 return threadBean.getThreadInfo(tid, STACK_DEPTH);
}

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

public DeadlockException(long[] threads) {
  super("Deadlocked threads detected");
  ThreadMXBean bean = ManagementFactory.getThreadMXBean();
  threadInfos = bean.getThreadInfo(threads, true, true);
}

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

public static void printStack(PrintWriter out, long tid) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(tid, 500);
  StackTraceElement[] se = f.getStackTrace();
  if (se != null) {
    for (int i = 0; i < se.length; i++) {
      if (se[i] != null) {
        out.println("\t" + se[i]);
      }
    }
  }
}

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

public static void printStack(PrintWriter out, long tid) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(tid, 500);
  StackTraceElement[] se = f.getStackTrace();
  if (se != null) {
    for (int i = 0; i < se.length; i++) {
      if (se[i] != null) {
        out.println("\t" + se[i]);
      }
    }
  }
}

代码示例来源:origin: LMAX-Exchange/disruptor

private String dumpThreadInfo()
  {
    final StringBuilder sb = new StringBuilder();

    final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();

    for (Thread t : threads)
    {
      ThreadInfo threadInfo = threadMXBean.getThreadInfo(t.getId());
      sb.append("{");
      sb.append("name=").append(t.getName()).append(",");
      sb.append("id=").append(t.getId()).append(",");
      sb.append("state=").append(threadInfo.getThreadState()).append(",");
      sb.append("lockInfo=").append(threadInfo.getLockInfo());
      sb.append("}");
    }

    return sb.toString();
  }
}

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

ThreadMXBean tmx = ManagementFactory.getThreadMXBean();
long[] ids = tmx.findDeadlockedThreads();
if (ids != null) {
  ThreadInfo[] infos = tmx.getThreadInfo(ids, true, true);
  System.out.println("The following threads are deadlocked:");
  for (ThreadInfo ti : infos) {
   System.out.println(ti);
  }
}

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

ThreadMXBean bean = ManagementFactory.getThreadMXBean();
long[] threadIds = bean.findDeadlockedThreads(); // Returns null if no threads are deadlocked.

if (threadIds != null) {
  ThreadInfo[] infos = bean.getThreadInfo(threadIds);

  for (ThreadInfo info : infos) {
    StackTraceElement[] stack = info.getStackTrace();
    // Log or store stack trace information.
  }
}

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

/**
 * @param threadId Thread ID.
 * @param sb Builder.
 */
public static void printStackTrace(long threadId, GridStringBuilder sb) {
  ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();
  ThreadInfo threadInfo = mxBean.getThreadInfo(threadId, Integer.MAX_VALUE);
  printThreadInfo(threadInfo, sb, Collections.<Long>emptySet());
}

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

public void collect() {
  long timestamp = System.currentTimeMillis();
  ThreadInfo[] dump = threading.getThreadInfo(threadSet, Integer.MAX_VALUE);
  
  for(ThreadInfo ti: dump) {
    Trace trace = newTrace(timestamp, ti);
    if (trace !=  null) {
      traces.add(trace);
    }
  }
}

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

/**
 * Get an object suitable for querying the findDependencies method for a given thread.
 */
public static ThreadReference getThreadReference(String locality, Thread thread) {
 ThreadMXBean bean = ManagementFactory.getThreadMXBean();
 ThreadInfo info = bean.getThreadInfo(thread.getId(), Integer.MAX_VALUE);
 return new LocalThread(locality, info);
}

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

public static String getThreadStack(long id) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(id, 500);
  if (f == null)
    return null;
  return getStackTrace(f.getStackTrace());
}

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

public static String getThreadStack(long id) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(id, 500);
  if (f == null)
    return null;
  return getStackTrace(f.getStackTrace());
}

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

public static String getThreadStack(long id) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(id, 500);
  if (f == null)
    return null;
  return getStackTrace(f.getStackTrace());
}

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

public static String getThreadStack(long id) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(id, 500);
  if (f == null)
    return null;
  return getStackTrace(f.getStackTrace());
}

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

public static String getThreadStack(long id) {
  ThreadMXBean tmb = ManagementFactory.getThreadMXBean();
  ThreadInfo f = tmb.getThreadInfo(id, 500);
  if (f == null)
    return null;
  return getStackTrace(f.getStackTrace());
}

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

/**
 * Dumps stack trace of the thread to the given log at warning level.
 *
 * @param t Thread to be dumped.
 * @param log Logger.
 */
public static void dumpThread(Thread t, @Nullable IgniteLogger log) {
  ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();
  GridStringBuilder sb = new GridStringBuilder();
  printThreadInfo(mxBean.getThreadInfo(t.getId()), sb, Collections.emptySet());
  warn(log, sb.toString());
}

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

@Nullable
private Exception getDeadlockedThreadsException()
{
 final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
 final long[] deadlockedThreadIds = threadMXBean.findDeadlockedThreads();
 if (deadlockedThreadIds == null) {
  return null;
 }
 Exception deadlockException = new Exception("Deadlocked threads:");
 for (long deadlockedThreadId : deadlockedThreadIds) {
  ThreadInfo threadInfo = threadMXBean.getThreadInfo(deadlockedThreadId);
  Exception threadException = new Exception(threadInfo.getThreadName() + " at " + threadInfo.getLockName());
  threadException.setStackTrace(threadInfo.getStackTrace());
  deadlockException.addSuppressed(threadException);
 }
 return deadlockException;
}

相关文章

微信公众号

最新文章

更多