Class Diagnostics

java.lang.Object
org.apache.tomcat.util.Diagnostics

public class Diagnostics extends Object
  • Constructor Details

    • Diagnostics

      public Diagnostics()
  • Method Details

    • 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(String loggerName, 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(String name)
      Reset peak memory usage data in MemoryPoolMXBean
      Parameters:
      name - name of the MemoryPoolMXBean or "all"
    • setUsageThreshold

      public static boolean setUsageThreshold(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(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 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 String getThreadDump()
      Retrieves a formatted JVM thread dump. The default StringManager will be used.
      Returns:
      the formatted JVM thread dump
    • getThreadDump

      public static String getThreadDump(Enumeration<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 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 String getVMInfo()
      Retrieves a formatted JVM information text. The default StringManager will be used.
      Returns:
      the formatted JVM information text
    • getVMInfo

      public static String getVMInfo(Enumeration<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 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