gnu.java.lang.management

Class ThreadMXBeanImpl

Implemented Interfaces:
DynamicMBean, ThreadMXBean

public final class ThreadMXBeanImpl
extends BeanImpl
implements ThreadMXBean

Provides access to information about the threads of the virtual machine. An instance of this bean is obtained by calling ManagementFactory.getThreadMXBean(). See ThreadMXBean for full documentation.
Since:
1.5

Constructor Summary

ThreadMXBeanImpl()
Default constructor to set up flag states.

Method Summary

ThreadInfo[]
dumpAllThreads(boolean lockedMonitors, boolean lockedSynchronizers)
long[]
findDeadlockedThreads()
long[]
findMonitorDeadlockedThreads()
long[]
getAllThreadIds()
long
getCurrentThreadCpuTime()
long
getCurrentThreadUserTime()
int
getDaemonThreadCount()
int
getPeakThreadCount()
int
getThreadCount()
long
getThreadCpuTime(long id)
ThreadInfo
getThreadInfo(long id)
ThreadInfo
getThreadInfo(long id, int maxDepth)
ThreadInfo[]
getThreadInfo(long[] ids)
ThreadInfo[]
getThreadInfo(long[] ids, boolean lockedMonitors, boolean lockedSynchronizers)
ThreadInfo[]
getThreadInfo(long[] ids, int maxDepth)
long
getThreadUserTime(long id)
long
getTotalStartedThreadCount()
boolean
isCurrentThreadCpuTimeSupported()
boolean
isObjectMonitorUsageSupported()
boolean
isSynchronizerUsageSupported()
boolean
isThreadContentionMonitoringEnabled()
boolean
isThreadContentionMonitoringSupported()
boolean
isThreadCpuTimeEnabled()
boolean
isThreadCpuTimeSupported()
void
resetPeakThreadCount()
void
setThreadContentionMonitoringEnabled(boolean enable)
void
setThreadCpuTimeEnabled(boolean enable)

Methods inherited from class gnu.java.lang.management.BeanImpl

cacheMBeanInfo, checkControlPermissions, checkMonitorPermissions, getAttribute, getCachedMBeanInfo, getDescription, getDescription, getMBeanInfo, getParameterName, getParameterName

Methods inherited from class javax.management.StandardMBean

cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, invoke, setAttribute, setAttributes, setImplementation

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

ThreadMXBeanImpl

public ThreadMXBeanImpl()
            throws NotCompliantMBeanException
Default constructor to set up flag states. The VM has to specify whether time monitoring is initially enabled or not.
Throws:
NotCompliantMBeanException - if this class doesn't implement the interface or a method appears in the interface that doesn't comply with the naming conventions.

Method Details

dumpAllThreads

public ThreadInfo[] dumpAllThreads(boolean lockedMonitors,
                                   boolean lockedSynchronizers)
Specified by:
dumpAllThreads in interface ThreadMXBean

findDeadlockedThreads

public long[] findDeadlockedThreads()
Specified by:
findDeadlockedThreads in interface ThreadMXBean

findMonitorDeadlockedThreads

public long[] findMonitorDeadlockedThreads()
Specified by:
findMonitorDeadlockedThreads in interface ThreadMXBean

getAllThreadIds

public long[] getAllThreadIds()
Specified by:
getAllThreadIds in interface ThreadMXBean

getCurrentThreadCpuTime

public long getCurrentThreadCpuTime()
Specified by:
getCurrentThreadCpuTime in interface ThreadMXBean

getCurrentThreadUserTime

public long getCurrentThreadUserTime()
Specified by:
getCurrentThreadUserTime in interface ThreadMXBean

getDaemonThreadCount

public int getDaemonThreadCount()
Specified by:
getDaemonThreadCount in interface ThreadMXBean

getPeakThreadCount

public int getPeakThreadCount()
Specified by:
getPeakThreadCount in interface ThreadMXBean

getThreadCount

public int getThreadCount()
Specified by:
getThreadCount in interface ThreadMXBean

getThreadCpuTime

public long getThreadCpuTime(long id)
Specified by:
getThreadCpuTime in interface ThreadMXBean

getThreadInfo

public ThreadInfo getThreadInfo(long id)
Specified by:
getThreadInfo in interface ThreadMXBean

getThreadInfo

public ThreadInfo getThreadInfo(long id,
                                int maxDepth)
Specified by:
getThreadInfo in interface ThreadMXBean

getThreadInfo

public ThreadInfo[] getThreadInfo(long[] ids)
Specified by:
getThreadInfo in interface ThreadMXBean

getThreadInfo

public ThreadInfo[] getThreadInfo(long[] ids,
                                  boolean lockedMonitors,
                                  boolean lockedSynchronizers)
Specified by:
getThreadInfo in interface ThreadMXBean

getThreadInfo

public ThreadInfo[] getThreadInfo(long[] ids,
                                  int maxDepth)
Specified by:
getThreadInfo in interface ThreadMXBean

getThreadUserTime

public long getThreadUserTime(long id)
Specified by:
getThreadUserTime in interface ThreadMXBean

getTotalStartedThreadCount

public long getTotalStartedThreadCount()
Specified by:
getTotalStartedThreadCount in interface ThreadMXBean

isCurrentThreadCpuTimeSupported

public boolean isCurrentThreadCpuTimeSupported()
Specified by:
isCurrentThreadCpuTimeSupported in interface ThreadMXBean

isObjectMonitorUsageSupported

public boolean isObjectMonitorUsageSupported()
Specified by:
isObjectMonitorUsageSupported in interface ThreadMXBean

isSynchronizerUsageSupported

public boolean isSynchronizerUsageSupported()
Specified by:
isSynchronizerUsageSupported in interface ThreadMXBean

isThreadContentionMonitoringEnabled

public boolean isThreadContentionMonitoringEnabled()
Specified by:
isThreadContentionMonitoringEnabled in interface ThreadMXBean

isThreadContentionMonitoringSupported

public boolean isThreadContentionMonitoringSupported()
Specified by:
isThreadContentionMonitoringSupported in interface ThreadMXBean

isThreadCpuTimeEnabled

public boolean isThreadCpuTimeEnabled()
Specified by:
isThreadCpuTimeEnabled in interface ThreadMXBean

isThreadCpuTimeSupported

public boolean isThreadCpuTimeSupported()
Specified by:
isThreadCpuTimeSupported in interface ThreadMXBean

resetPeakThreadCount

public void resetPeakThreadCount()
Specified by:
resetPeakThreadCount in interface ThreadMXBean

setThreadContentionMonitoringEnabled

public void setThreadContentionMonitoringEnabled(boolean enable)
Specified by:
setThreadContentionMonitoringEnabled in interface ThreadMXBean

setThreadCpuTimeEnabled

public void setThreadCpuTimeEnabled(boolean enable)
Specified by:
setThreadCpuTimeEnabled in interface ThreadMXBean

ThreadMXBeanImpl.java - Implementation of a thread bean Copyright (C) 2006 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.