Introduction / FirstSpirit JMX Console / HiccupMeter

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.

© 2005 - 2023 Crownpeak Technology GmbH | All rights reserved. | FirstSpirit 2023.2 | Data privacy