Gauge Monitors

As we mentioned in the beginning of this chapter, a gauge monitor is used to monitor an MBean attribute that is:

  • Arbitrarily changing in any direction (i.e., up or down)

  • One of the Java floating-point types (float or double) or one of the corresponding JDK wrapper classes (Float or Double)

In this section, we will look at the agent code that shows how to use a gauge monitor. When using a gauge monitor, the first thing to do is to create a new instance of the GaugeMonitor class:

GaugeMonitor monitor = new GaugeMonitor(  );

After that, the following attributes of the gauge monitor must be set:

  • ObservedObject

  • ObservedAttribute

  • NotifyHigh (must be set to true if a notification is to be sent when the derived gauge exceeds the high threshold)

  • NotifyLow (must be set to true if a notification is to be sent when the derived gauge drops below the low threshold)

  • HighThreshold

  • LowThreshold

  • GranularityPeriod

We discussed these attributes earlier in this chapter. Recall that a notification is sent when the derived gauge exceeds the value of HighThreshold (if NotifyHigh has been explicitly set to true) or when the derived gauge drops below the value of LowThreshold (if NotifyLow is set to true). The following example shows how to create an instance of the gauge monitor, set its properties, register the gauge monitor MBean with the MBean server, and start the monitor’s thread of execution:

ObjectName queueObjName = new ObjectName(":name=Queue"); GaugeMonitor monitor = new GaugeMonitor( ...

Get Java Management Extensions now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.