Package org.apache.tomcat.util
Class Diagnostics
- java.lang.Object
-
- org.apache.tomcat.util.Diagnostics
-
public class Diagnostics extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Diagnostics()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
findDeadlock()
Check if any threads are deadlocked.static void
gc()
Initiate garbage collection via MX Beanstatic java.lang.String
getThreadDump()
Retrieves a formatted JVM thread dump.static java.lang.String
getThreadDump(java.util.Enumeration<java.util.Locale> requestedLocales)
Retrieves a formatted JVM thread dump.static java.lang.String
getThreadDump(StringManager requestedSm)
Retrieve a JVM thread dump formatted using the given StringManager.static java.lang.String
getVMInfo()
Retrieves a formatted JVM information text.static java.lang.String
getVMInfo(java.util.Enumeration<java.util.Locale> requestedLocales)
Retrieves a formatted JVM information text.static java.lang.String
getVMInfo(StringManager requestedSm)
Retrieve a JVM information text formatted using the given StringManager.static boolean
isThreadContentionMonitoringEnabled()
Check whether thread contention monitoring is enabled.static boolean
isThreadCpuTimeEnabled()
Check whether thread cpu time measurement is enabled.static void
resetPeakThreadCount()
Reset peak thread count in ThreadMXBeanstatic void
resetPeakUsage(java.lang.String name)
Reset peak memory usage data in MemoryPoolMXBeanstatic boolean
setCollectionUsageThreshold(java.lang.String name, long threshold)
Set collection usage threshold in MemoryPoolMXBeanstatic void
setLoggerLevel(java.lang.String loggerName, java.lang.String levelName)
Set logger levelstatic void
setThreadContentionMonitoringEnabled(boolean enable)
Enable or disable thread contention monitoring via the ThreadMxMXBean.static void
setThreadCpuTimeEnabled(boolean enable)
Enable or disable thread cpu time measurement via the ThreadMxMXBean.static boolean
setUsageThreshold(java.lang.String name, long threshold)
Set usage threshold in MemoryPoolMXBeanstatic void
setVerboseClassLoading(boolean verbose)
Set verbose class loadingstatic void
setVerboseGarbageCollection(boolean verbose)
Set verbose garbage collection logging
-
-
-
Method Detail
-
isThreadContentionMonitoringEnabled
public static boolean isThreadContentionMonitoringEnabled()
Check whether thread contention monitoring is enabled.- Returns:
- true if thread contention monitoring is enabled
-
setThreadContentionMonitoringEnabled
public static void setThreadContentionMonitoringEnabled(boolean enable)
Enable or disable thread contention monitoring via the ThreadMxMXBean.- Parameters:
enable
- whether to enable thread contention monitoring
-
isThreadCpuTimeEnabled
public static boolean isThreadCpuTimeEnabled()
Check whether thread cpu time measurement is enabled.- Returns:
- true if thread cpu time measurement is enabled
-
setThreadCpuTimeEnabled
public static void setThreadCpuTimeEnabled(boolean enable)
Enable or disable thread cpu time measurement via the ThreadMxMXBean.- Parameters:
enable
- whether to enable thread cpu time measurement
-
resetPeakThreadCount
public static void resetPeakThreadCount()
Reset peak thread count in ThreadMXBean
-
setVerboseClassLoading
public static void setVerboseClassLoading(boolean verbose)
Set verbose class loading- Parameters:
verbose
- whether to enable verbose class loading
-
setLoggerLevel
public static void setLoggerLevel(java.lang.String loggerName, java.lang.String levelName)
Set logger level- Parameters:
loggerName
- the name of the loggerlevelName
- the level to set
-
setVerboseGarbageCollection
public static void setVerboseGarbageCollection(boolean verbose)
Set verbose garbage collection logging- Parameters:
verbose
- whether to enable verbose gc logging
-
gc
public static void gc()
Initiate garbage collection via MX Bean
-
resetPeakUsage
public static void resetPeakUsage(java.lang.String name)
Reset peak memory usage data in MemoryPoolMXBean- Parameters:
name
- name of the MemoryPoolMXBean or "all"
-
setUsageThreshold
public static boolean setUsageThreshold(java.lang.String name, long threshold)
Set usage threshold in MemoryPoolMXBean- Parameters:
name
- name of the MemoryPoolMXBeanthreshold
- the threshold to set- Returns:
- true if setting the threshold succeeded
-
setCollectionUsageThreshold
public static boolean setCollectionUsageThreshold(java.lang.String name, long threshold)
Set collection usage threshold in MemoryPoolMXBean- Parameters:
name
- name of the MemoryPoolMXBeanthreshold
- the collection threshold to set- Returns:
- true if setting the threshold succeeded
-
findDeadlock
public static java.lang.String findDeadlock()
Check if any threads are deadlocked. If any, print the thread dump for those threads.- Returns:
- a deadlock message and the formatted thread dump of the deadlocked threads
-
getThreadDump
public static java.lang.String getThreadDump()
Retrieves a formatted JVM thread dump. The default StringManager will be used.- Returns:
- the formatted JVM thread dump
-
getThreadDump
public static java.lang.String getThreadDump(java.util.Enumeration<java.util.Locale> requestedLocales)
Retrieves a formatted JVM thread dump. The given list of locales will be used to retrieve a StringManager.- Parameters:
requestedLocales
- list of locales to use- Returns:
- the formatted JVM thread dump
-
getThreadDump
public static java.lang.String getThreadDump(StringManager requestedSm)
Retrieve a JVM thread dump formatted using the given StringManager.- Parameters:
requestedSm
- the StringManager to use- Returns:
- the formatted JVM thread dump
-
getVMInfo
public static java.lang.String getVMInfo()
Retrieves a formatted JVM information text. The default StringManager will be used.- Returns:
- the formatted JVM information text
-
getVMInfo
public static java.lang.String getVMInfo(java.util.Enumeration<java.util.Locale> requestedLocales)
Retrieves a formatted JVM information text. The given list of locales will be used to retrieve a StringManager.- Parameters:
requestedLocales
- list of locales to use- Returns:
- the formatted JVM information text
-
getVMInfo
public static java.lang.String getVMInfo(StringManager requestedSm)
Retrieve a JVM information text formatted using the given StringManager.- Parameters:
requestedSm
- the StringManager to use- Returns:
- the formatted JVM information text
-
-