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
`Diagnostics()`

### Method Summary

All Methods Static Methods Concrete Methods
`static java.lang.String` `findDeadlock()` Check if any threads are deadlocked.
`static void` `gc()` Initiate garbage collection via MX Bean
`static 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 ThreadMXBean
`static void` `resetPeakUsage​(java.lang.String name)` Reset peak memory usage data in MemoryPoolMXBean
`static boolean` `setCollectionUsageThreshold​(java.lang.String name, long threshold)` Set collection usage threshold in MemoryPoolMXBean
`static void` `setLoggerLevel​(java.lang.String loggerName, java.lang.String levelName)` Set logger level
`static 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 MemoryPoolMXBean
`static void` `setVerboseClassLoading​(boolean verbose)` Set verbose class loading
`static void` `setVerboseGarbageCollection​(boolean verbose)` Set verbose garbage collection logging

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Diagnostics

    public Diagnostics()

### 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 logger
  `levelName` - 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 MemoryPoolMXBean
  `threshold` - 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 MemoryPoolMXBean
  `threshold` - 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