Examples of ThreadInfo


Examples of java.lang.management.ThreadInfo

   * @return the blocking thread, or null if there is none
   * @throws NullPointerException
   *           if the blocked thread is null
   */
  public static Thread getBlockingThread(final Thread blockedThread) {
    final ThreadInfo info = getThreadInfo(blockedThread);
    if (info == null)
      return null;
    final long id = info.getLockOwnerId();
    if (id == -1)
      return null;
    return getThread(id);
  }
View Full Code Here

Examples of java.lang.management.ThreadInfo

                mb.setThreadContentionMonitoringEnabled(false);
                Thread.yield();
            }// end while

            // Check that a ThreadInfo returns -1 where expected.
            ThreadInfo info = mb.getThreadInfo(Thread.currentThread().getId());
            assertEquals(-1, info.getBlockedTime());
            assertEquals(-1, info.getWaitedTime());

            // re-enable tcm
            while (!mb.isThreadContentionMonitoringEnabled()) {
                mb.setThreadContentionMonitoringEnabled(true);
                Thread.yield();
            }// end while

            // Check that waited time and blocked time are now no longer
            // set to -1.
            ThreadInfo info2 = mb.getThreadInfo(Thread.currentThread().getId());
            assertTrue(info2.getBlockedTime() > -1);
            assertTrue(info2.getWaitedTime() > -1);
        } else {
            try {
                mb.isThreadContentionMonitoringEnabled();
                fail("Should have thrown UnsupportedOperationException!");
            } catch (UnsupportedOperationException ignore) {
View Full Code Here

Examples of java.lang.management.ThreadInfo

                .isCurrentThreadCpuTimeSupported());
        assertEquals(mb.isThreadContentionMonitoringSupported(), proxy
                .isThreadContentionMonitoringSupported());
        assertEquals(mb.isThreadCpuTimeSupported(), proxy
                .isThreadCpuTimeSupported());
        ThreadInfo info1 = mb.getThreadInfo(Thread.currentThread().getId());
        ThreadInfo info2 = proxy.getThreadInfo(Thread.currentThread().getId());
        // RI does not appear to override equals() for ThreadInfo so we take
        // the scenic route to check for equality...
        assertEquals(info1.getThreadId(), info2.getThreadId());
        assertEquals(info1.getBlockedCount(), info2.getBlockedCount());
        assertEquals(info1.getBlockedTime(), info2.getBlockedTime());
        assertEquals(info1.getThreadName(), info2.getThreadName());
        assertEquals(info1.getWaitedCount(), info2.getWaitedCount());
        assertEquals(info1.getLockName(), info2.getLockName());
    }
View Full Code Here

Examples of java.lang.management.ThreadInfo

            sb.append(sm.getString("no.deadlock"));
        }
        else {
            sb.append(sm.getString("deadlocks.found"));
            for (final long dt : dts) {
                final ThreadInfo ti = tmx.getThreadInfo(dt);
                sb.append(this.dumpThread(ti));
            }
        }
        return ( sb.toString() );
    }
View Full Code Here

Examples of java.lang.management.ThreadInfo


    protected static void _printThreads(ThreadMXBean bean, long[] ids, StringBuilder sb) {
        ThreadInfo[] threads=bean.getThreadInfo(ids, 20);
        for(int i=0; i < threads.length; i++) {
            ThreadInfo info=threads[i];
            if(info == null)
                continue;
            sb.append(info.getThreadName()).append(":\n");
            StackTraceElement[] stack_trace=info.getStackTrace();
            for(int j=0; j < stack_trace.length; j++) {
                StackTraceElement el=stack_trace[j];
                sb.append("    at ").append(el.getClassName()).append(".").append(el.getMethodName());
                sb.append("(").append(el.getFileName()).append(":").append(el.getLineNumber()).append(")");
                sb.append("\n");
View Full Code Here

Examples of java.lang.management.ThreadInfo

        long threadId = record.getThreadID();
        String threadName = "" + record.getThreadID();
        ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
        for (long id : threadMXBean.getAllThreadIds()) {
            if (id == threadId) {
                ThreadInfo threadInfo = threadMXBean.getThreadInfo(id);
                if (threadInfo != null) {
                    threadName = threadInfo.getThreadName();
                }
                break;
            }
        }
View Full Code Here

Examples of java.lang.management.ThreadInfo

            final long endTime = clock.time();

            final long roundBlockedTime;
            if (supportsThreadContention) {
                final long threadId = Thread.currentThread().getId();
                final ThreadInfo threadInfo = threadMXBean.getThreadInfo(threadId);
                final long threadBlockedTime = threadInfo.getBlockedTime();
                final long previousValue = previousThreadBlockedTime.get().getAndSet(threadBlockedTime);
                roundBlockedTime = threadBlockedTime - previousValue;
            } else {
                roundBlockedTime = 0;
            }
View Full Code Here

Examples of java.lang.management.ThreadInfo

            if ( null != threads ) {
                StringBuffer sb = new StringBuffer( 256 );
                ThreadInfo[] infos = threadMXBean.getThreadInfo( threads, Integer.MAX_VALUE );

                for (int i = 0; i < infos.length; i ++) {
                    ThreadInfo info = infos[i];
                    sb.append( info.getThreadName() )
                        .append( " blocked on " )
                        .append( info.getLockName() )
                        .append( " owned by " )
                        .append( info.getLockOwnerName() )
                        .append( "\n" );
                }

                for (int i = 0; i < infos.length; i ++) {
                    ThreadInfo info = infos[i];
                    sb.append( "\nStack for " ).append( info.getThreadName() ).append( "\n" );
                    StackTraceElement[] stackTrace = info.getStackTrace();
                    for (int j = 0; j < stackTrace.length; j ++) {
                        sb.append( "\t" ).append( stackTrace[j] ).append( "\n" );
                    }
                }
View Full Code Here

Examples of java.lang.management.ThreadInfo

    boolean contention = threadBean.isThreadContentionMonitoringEnabled();
    long[] threadIds = threadBean.getAllThreadIds();
    stream.println("Process Thread Dump: " + title);
    stream.println(threadIds.length + " active threads");
    for (long tid: threadIds) {
      ThreadInfo info = threadBean.getThreadInfo(tid, STACK_DEPTH);
      if (info == null) {
        stream.println("  Inactive");
        continue;
      }
      stream.println("Thread " +
                     getTaskName(info.getThreadId(),
                                 info.getThreadName()) + ":");
      Thread.State state = info.getThreadState();
      stream.println("  State: " + state);
      stream.println("  Blocked count: " + info.getBlockedCount());
      stream.println("  Waited count: " + info.getWaitedCount());
      if (contention) {
        stream.println("  Blocked time: " + info.getBlockedTime());
        stream.println("  Waited time: " + info.getWaitedTime());
      }
      if (state == Thread.State.WAITING) {
        stream.println("  Waiting on " + info.getLockName());
      } else  if (state == Thread.State.BLOCKED) {
        stream.println("  Blocked on " + info.getLockName());
        stream.println("  Blocked by " +
                       getTaskName(info.getLockOwnerId(),
                                   info.getLockOwnerName()));
      }
      stream.println("  Stack:");
      for (StackTraceElement frame: info.getStackTrace()) {
        stream.println("    " + frame.toString());
      }
    }
    stream.flush();
  }
View Full Code Here

Examples of java.lang.management.ThreadInfo

        StringBuilder sb=new StringBuilder();
        ThreadMXBean bean=ManagementFactory.getThreadMXBean();
        long[] ids=bean.getAllThreadIds();
        ThreadInfo[] threads=bean.getThreadInfo(ids, 20);
        for(int i=0; i < threads.length; i++) {
            ThreadInfo info=threads[i];
            if(info == null)
                continue;
            sb.append(info.getThreadName()).append(":\n");
            StackTraceElement[] stack_trace=info.getStackTrace();
            for(int j=0; j < stack_trace.length; j++) {
                StackTraceElement el=stack_trace[j];
                sb.append("    at ").append(el.getClassName()).append(".").append(el.getMethodName());
                sb.append("(").append(el.getFileName()).append(":").append(el.getLineNumber()).append(")");
                sb.append("\n");
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.