public class LongJVMPauseDetector extends Object
PRECISION (default is 50) milliseconds,
and monitors a time values between awakenings. If worker pause exceeds the expected value more than THRESHOLD
default is 500), the difference is considered as JVM pause, most likely STW, and event of long JVM pause is registered.
The values of PRECISION, THRESHOLD and EVT_CNT (event window size, default is 20) can be
configured in system or environment properties IGNITE_JVM_PAUSE_DETECTOR_PRECISION,
IGNITE_JVM_PAUSE_DETECTOR_THRESHOLD and IGNITE_JVM_PAUSE_DETECTOR_LAST_EVENTS_COUNT accordingly.| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_JVM_PAUSE_DETECTOR_THRESHOLD
Ignite JVM pause detector threshold default value.
|
static int |
DFLT_JVM_PAUSE_DETECTOR_LAST_EVENTS_COUNT |
static int |
DFLT_JVM_PAUSE_DETECTOR_PRECISION |
| Constructor and Description |
|---|
LongJVMPauseDetector(IgniteLogger log) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
enabled() |
@Nullable IgniteBiTuple<Long,Long> |
getLastLongPause() |
long |
getLastWakeUpTime() |
void |
start()
Starts worker if not started yet.
|
void |
stop()
Stops the worker if one is created and running.
|
String |
toString() |
public static final int DEFAULT_JVM_PAUSE_DETECTOR_THRESHOLD
public static final int DFLT_JVM_PAUSE_DETECTOR_PRECISION
public static final int DFLT_JVM_PAUSE_DETECTOR_LAST_EVENTS_COUNT
public LongJVMPauseDetector(IgniteLogger log)
log - Logger.public void start()
public void stop()
public static boolean enabled()
false if IgniteSystemProperties.IGNITE_JVM_PAUSE_DETECTOR_DISABLED set to true,
and true otherwise.public long getLastWakeUpTime()
@Nullable public @Nullable IgniteBiTuple<Long,Long> getLastLongPause()
last long pause event time, pause time duration) or null, if long pause
wasn't occurred.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.15.0 Release Date : April 25 2023