Class JvmPauseMonitor


  • public class JvmPauseMonitor
    extends java.lang.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 java.lang.String JVM_PAUSE_MONITOR_FEATURE_SWITCH_KEY
        See Also:
        Constant Field Values
      • sleepTimeMs

        protected long sleepTimeMs
        The target sleep time
      • SLEEP_TIME_MS_KEY

        public static final java.lang.String SLEEP_TIME_MS_KEY
        See Also:
        Constant Field Values
      • warnThresholdMs

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

        public static final java.lang.String WARN_THRESHOLD_KEY
        See Also:
        Constant Field Values
      • 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_KEY

        public static final java.lang.String INFO_THRESHOLD_KEY
        See Also:
        Constant Field Values
      • 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()