Class JvmPauseMonitor


  • public class JvmPauseMonitor
    extends Object
    This code is originally from hadoop-common, see: https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java Class which sets up a simple thread which runs in a loop sleeping for a short interval of time. If the sleep takes significantly longer than its target time, it implies that the JVM or host machine has paused processing, which may cause other problems. If such a pause is detected, the thread logs a message.
    • Field Detail

      • JVM_PAUSE_MONITOR_FEATURE_SWITCH_KEY

        public static final String JVM_PAUSE_MONITOR_FEATURE_SWITCH_KEY
        See Also:
        Constant Field Values
      • sleepTimeMs

        protected long sleepTimeMs
        The target sleep time
      • warnThresholdMs

        protected long warnThresholdMs
        log WARN if we detect a pause longer than this threshold
      • WARN_THRESHOLD_DEFAULT

        public static final long WARN_THRESHOLD_DEFAULT
        See Also:
        Constant Field Values
      • infoThresholdMs

        protected long infoThresholdMs
        log INFO if we detect a pause longer than this threshold
      • INFO_THRESHOLD_DEFAULT

        public static final long INFO_THRESHOLD_DEFAULT
        See Also:
        Constant Field Values
    • Method Detail

      • serviceStart

        public void serviceStart()
      • serviceStop

        public void serviceStop()
      • isStarted

        public boolean isStarted()
      • getNumGcWarnThresholdExceeded

        public long getNumGcWarnThresholdExceeded()
      • getNumGcInfoThresholdExceeded

        public long getNumGcInfoThresholdExceeded()
      • getTotalGcExtraSleepTime

        public long getTotalGcExtraSleepTime()