javax.management.monitor
Class GaugeMonitor

java.lang.Object
  |
  +--javax.management.NotificationBroadcasterSupport
        |
        +--javax.management.monitor.Monitor
              |
              +--javax.management.monitor.GaugeMonitor

public class GaugeMonitor
extends Monitor
implements GaugeMonitorMBean

This class defines a monitor MBean designed to observe the values of a gauge attribute.

A gauge monitor observes an attribute that is continuously variable with time. A gauge monitor sends notifications as follows:

This provides a hysteresis mechanism to avoid repeated triggering of notifications when the attribute value makes small oscillations around the high or low threshold value.

If the gauge difference mode is used, then the value of the derived gauge is calculated as the difference between the observed gauge values for two successive observations.
The derived gauge value (V[t]) is calculated using the following method:

This implementation of the gauge monitor requires the observed attribute to be either of type integer or floating-point.

See Also:
Serialized Form

Fields inherited from class javax.management.monitor.Monitor
alreadyNotified, dbgTag, OBSERVED_ATTRIBUTE_ERROR_NOTIFIED, OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED, OBSERVED_OBJECT_ERROR_NOTIFIED, RESET_FLAGS_ALREADY_NOTIFIED, RUNTIME_ERROR_NOTIFIED, server
 
Constructor Summary
GaugeMonitor()
          Default constructor.
 
Method Summary
 java.lang.Number getDerivedGauge()
          Gets the derived gauge.
 java.util.Date getDerivedGaugeTimeStamp()
          Gets the derived gauge timestamp.
 boolean getDifferenceMode()
          Gets the difference mode flag value.
 java.lang.Number getHighThreshold()
          Gets the high threshold value.
 java.lang.Number getLowThreshold()
          Gets the low threshold value.
 MBeanNotificationInfo[] getNotificationInfo()
          Returns a NotificationInfo object contaning the name of the Java class of the notification and the notification types sent.
 boolean getNotifyHigh()
          Gets the high notifications on/off switch value.
 boolean getNotifyLow()
          Gets the low notifications on/off switch value.
 void setDifferenceMode(boolean value)
          Sets the difference mode flag value.
 void setHighThreshold(java.lang.Number value)
          Sets the high threshold value.
 void setLowThreshold(java.lang.Number value)
          Sets the low threshold value.
 void setNotifyHigh(boolean value)
          Sets the high notifications on/off switch value.
 void setNotifyLow(boolean value)
          Sets the low notifications on/off switch value.
 void start()
          Starts the GaugeMonitor.
 void stop()
          Stops the GaugeMonitor.
 
Methods inherited from class javax.management.monitor.Monitor
getGranularityPeriod, getObservedAttribute, getObservedObject, isActive, postDeregister, postRegister, preDeregister, preRegister, setGranularityPeriod, setObservedAttribute, setObservedObject
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GaugeMonitor

public GaugeMonitor()
Default constructor.
Method Detail

start

public void start()
Starts the GaugeMonitor.
Overrides:
start in class Monitor

stop

public void stop()
Stops the GaugeMonitor.
Overrides:
stop in class Monitor

getDerivedGauge

public java.lang.Number getDerivedGauge()
Gets the derived gauge.
Specified by:
getDerivedGauge in interface GaugeMonitorMBean
Returns:
The derived gauge.

getDerivedGaugeTimeStamp

public java.util.Date getDerivedGaugeTimeStamp()
Gets the derived gauge timestamp.
Specified by:
getDerivedGaugeTimeStamp in interface GaugeMonitorMBean
Returns:
The derived gauge timestamp.

getHighThreshold

public java.lang.Number getHighThreshold()
Gets the high threshold value.
Specified by:
getHighThreshold in interface GaugeMonitorMBean
Returns:
The high threshold value.

setHighThreshold

public void setHighThreshold(java.lang.Number value)
                      throws java.lang.IllegalArgumentException
Sets the high threshold value.
Specified by:
setHighThreshold in interface GaugeMonitorMBean
Parameters:
value - The high threshold value.
Throws:
java.lang.IllegalArgumentException - The specified high threshold is null.

getLowThreshold

public java.lang.Number getLowThreshold()
Gets the low threshold value.
Specified by:
getLowThreshold in interface GaugeMonitorMBean
Returns:
The low threshold value.

setLowThreshold

public void setLowThreshold(java.lang.Number value)
                     throws java.lang.IllegalArgumentException
Sets the low threshold value.
Specified by:
setLowThreshold in interface GaugeMonitorMBean
Parameters:
value - The low threshold value.
Throws:
java.lang.IllegalArgumentException - The specified low threshold is null.

getNotifyHigh

public boolean getNotifyHigh()
Gets the high notifications on/off switch value.
Specified by:
getNotifyHigh in interface GaugeMonitorMBean
Returns:
True if the GaugeMonitor notifies when exceeding the high threshold, false otherwise.

setNotifyHigh

public void setNotifyHigh(boolean value)
Sets the high notifications on/off switch value.
Specified by:
setNotifyHigh in interface GaugeMonitorMBean
Parameters:
value - The high notifications on/off switch value.

getNotifyLow

public boolean getNotifyLow()
Gets the low notifications on/off switch value.
Specified by:
getNotifyLow in interface GaugeMonitorMBean
Returns:
True if the GaugeMonitor notifies when exceeding the low threshold, false otherwise.

setNotifyLow

public void setNotifyLow(boolean value)
Sets the low notifications on/off switch value.
Specified by:
setNotifyLow in interface GaugeMonitorMBean
Parameters:
value - The low notifications on/off switch value.

getDifferenceMode

public boolean getDifferenceMode()
Gets the difference mode flag value.
Specified by:
getDifferenceMode in interface GaugeMonitorMBean
Returns:
True if the difference mode is used, false otherwise.

setDifferenceMode

public void setDifferenceMode(boolean value)
Sets the difference mode flag value.
Specified by:
setDifferenceMode in interface GaugeMonitorMBean
Parameters:
value - The difference mode flag value.

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()
Returns a NotificationInfo object contaning the name of the Java class of the notification and the notification types sent.
Overrides:
getNotificationInfo in class NotificationBroadcasterSupport