HiccupMeter
The MBean HiccupMeter identifies Java VM breaks and writes a warning message to the server log if an unusually long break is measured. Prolonged VM breaks (“hiccups”) of this nature can be caused by a lengthy GarbageCollection, for example.
The MBean uses a dedicated thread to measure breaks. the thread can be started and stopped. Despite this, the MBean is always registered even if the thread is not running. The MBean features a range of methods which are used to set the measurement parameters and to start and stop the metering thread.
The hiccup.startThread (starts the measurement – default setting true) and hiccup.warningLogLimit (warning when the configured break time is reached – default setting 20 s) parameters are configured in fs-server.conf (see Area: VM hiccup detector MBean).
Attributes
Resolution: Resolution of the hiccup measurement
Tolerance: Measurement tolerance based on resolution. If the tolerance is exceeded during a measurement, this is assessed as a hiccup.
WarningLimit: If a hiccup exceeds this limit, a warning is written to the server log.
ThreadStarted: Returns whether the metering thread has started (true) or not (false).
MaximumJitterPerMinute: Maximum jitter value in the last interval (approx. the last minute)
JitterCountPerMinute: Jitter count (tolerance exceeded) in the last interval (approx. the last minute).
AverageJitterPerMinute: Average jitter value in the last interval (approx. the last minute).
LastJitter: Last hiccup measured.
MaxJitter: Maximum hiccup measured thus far (can be reset with the resetMaxJitter method).
DetectObjectAllocationStalls: Object allocation can be used to generate an object during measurement in order to measure breaks occurring due to this action (DetectObjectAllocationStalls=true).
Operations
void startThread(): Starts the metering thread. If the thread is already running, an action is not executed.
void stopThread(): Stops the metering thread. If the thread is not running, an action is not executed.
void restartThread(): Restart metering thread. If the thread is not running, it is started.
void resetToDefaultParameters(): The attributes Resolution, Tolerance, WarningLimit, DetectObjectAllocationStalls are reset to the default values and the thread is restarted.
void resetMaxJitter(): Reset MaxJitter.