Spec-Zone.ru › OpenJDK 27

Class GaugeMonitor

java.lang.Object
javax.management.NotificationBroadcasterSupport
javax.management.monitor.Monitor
javax.management.monitor.GaugeMonitor
All Implemented Interfaces:
MBeanRegistration, GaugeMonitorMBean, MonitorMBean, NotificationBroadcaster, NotificationEmitter
public class GaugeMonitor extends Monitor implements GaugeMonitorMBean
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:

  • if the attribute value is increasing and becomes equal to or greater than the high threshold value, a threshold high notification is sent. The notify high flag must be set to true.
    Subsequent crossings of the high threshold value do not cause further notifications unless the attribute value becomes equal to or less than the low threshold value.
  • if the attribute value is decreasing and becomes equal to or less than the low threshold value, a threshold low notification is sent. The notify low flag must be set to true.
    Subsequent crossings of the low threshold value do not cause further notifications unless the attribute value becomes equal to or greater than the high threshold value.
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, 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:

  • V[t] = gauge[t] - gauge[t-GP]
This implementation of the gauge monitor requires the observed attribute to be of the type integer or floating-point (Byte, Integer, Short, Long, Float, Double).
Since:
1.5

Field Summary

Fields declared in class Monitor

alreadyNotified, alreadyNotifieds, capacityIncrement, dbgTag, elementCount, OBSERVED_ATTRIBUTE_ERROR_NOTIFIED, OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED, OBSERVED_OBJECT_ERROR_NOTIFIED, RESET_FLAGS_ALREADY_NOTIFIED, RUNTIME_ERROR_NOTIFIED, server
Modifier and Type Field Description
protected int alreadyNotified
Deprecated.
equivalent to Monitor.alreadyNotifieds[0].
protected int[] alreadyNotifieds
Selected monitor errors that have already been notified.
protected static final int capacityIncrement
The amount by which the capacity of the monitor arrays are automatically incremented when their size becomes greater than their capacity.
protected String dbgTag
Deprecated.
No replacement.
protected int elementCount
The number of valid components in the vector of observed objects.
protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed attribute.
protected static final int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed object or the observed attribute.
protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed object.
protected static final int RESET_FLAGS_ALREADY_NOTIFIED
This flag is used to reset the alreadyNotifieds monitor attribute.
protected static final int RUNTIME_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed object or the observed attribute.
protected MBeanServer server
Reference to the MBean server.

Constructor Summary

Constructor Description
GaugeMonitor()
Default constructor.

Method Summary

Modifier and Type Method Description
Number getDerivedGauge()
Deprecated.
As of JMX 1.2, replaced by getDerivedGauge(ObjectName)
Number getDerivedGauge(ObjectName object)
Gets the derived gauge of the specified object, if this object is contained in the set of observed MBeans, or null otherwise.
long getDerivedGaugeTimeStamp()
Deprecated.
As of JMX 1.2, replaced by getDerivedGaugeTimeStamp(ObjectName)
long getDerivedGaugeTimeStamp(ObjectName object)
Gets the derived gauge timestamp of the specified object, if this object is contained in the set of observed MBeans, or 0 otherwise.
boolean getDifferenceMode()
Gets the difference mode flag value common to all observed MBeans.
Number getHighThreshold()
Gets the high threshold value common to all observed MBeans.
Number getLowThreshold()
Gets the low threshold value common to all observed MBeans.
MBeanNotificationInfo[] getNotificationInfo()
Returns a NotificationInfo object containing the name of the Java class of the notification and the notification types sent by the gauge monitor.
boolean getNotifyHigh()
Gets the high notification's on/off switch value common to all observed MBeans.
boolean getNotifyLow()
Gets the low notification's on/off switch value common to all observed MBeans.
void setDifferenceMode(boolean value)
Sets the difference mode flag value common to all observed MBeans.
void setNotifyHigh(boolean value)
Sets the high notification's on/off switch value common to all observed MBeans.
void setNotifyLow(boolean value)
Sets the low notification's on/off switch value common to all observed MBeans.
void setThresholds(Number highValue, Number lowValue)
Sets the high and the low threshold values common to all observed MBeans.
void start()
Starts the gauge monitor.
void stop()
Stops the gauge monitor.

Methods declared in class Monitor

addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, postDeregister, postRegister, preDeregister, preRegister, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject
Modifier and Type Method Description
void addObservedObject(ObjectName object)
Adds the specified object in the set of observed MBeans, if this object is not already present.
boolean containsObservedObject(ObjectName object)
Tests whether the specified object is in the set of observed MBeans.
long getGranularityPeriod()
Gets the granularity period (in milliseconds).
String getObservedAttribute()
Gets the attribute being observed.
ObjectName getObservedObject()
Deprecated.
As of JMX 1.2, replaced by Monitor.getObservedObjects()
ObjectName[] getObservedObjects()
Returns an array containing the objects being observed.
boolean isActive()
Tests whether the monitor MBean is active.
void postDeregister()
Allows the monitor MBean to perform any operations needed after having been unregistered by the MBean server.
void postRegister(Boolean registrationDone)
Allows the monitor MBean to perform any operations needed after having been registered in the MBean server or after the registration has failed.
void preDeregister()
Allows the monitor MBean to perform any operations it needs before being unregistered by the MBean server.
ObjectName preRegister(MBeanServer server, ObjectName name)
Allows the monitor MBean to perform any operations it needs before being registered in the MBean server.
void removeObservedObject(ObjectName object)
Removes the specified object from the set of observed MBeans.
void setGranularityPeriod(long period)
Sets the granularity period (in milliseconds).
void setObservedAttribute(String attribute)
Sets the attribute to observe.
void setObservedObject(ObjectName object)
Deprecated.
As of JMX 1.2, replaced by Monitor.addObservedObject(ObjectName)

Methods declared in class NotificationBroadcasterSupport

addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
Modifier and Type Method Description
void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Adds a listener.
protected void handleNotification(NotificationListener listener, Notification notif, Object handback)
This method is called by sendNotification for each listener in order to send the notification to that listener.
void removeNotificationListener(NotificationListener listener)
Removes a listener from this MBean.
void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
Removes a listener from this MBean.
void sendNotification(Notification notification)
Sends a notification.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and Type Method Description
protected Object clone()
Creates and returns a copy of this object.
boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
final Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for this object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
String toString()
Returns a string representation of the object.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Constructor Details

GaugeMonitor

public GaugeMonitor()
Default constructor.

Method Details

start

public void start()
Starts the gauge monitor.
Specified by:
start in interface MonitorMBean
Specified by:
start in class Monitor

stop

public void stop()
Stops the gauge monitor.
Specified by:
stop in interface MonitorMBean
Specified by:
stop in class Monitor

getDerivedGauge

public Number getDerivedGauge(ObjectName object)
Gets the derived gauge of the specified object, if this object is contained in the set of observed MBeans, or null otherwise.
Specified by:
getDerivedGauge in interface GaugeMonitorMBean
Parameters:
object - the name of the MBean.
Returns:
The derived gauge of the specified object.

getDerivedGaugeTimeStamp

public long getDerivedGaugeTimeStamp(ObjectName object)
Gets the derived gauge timestamp of the specified object, if this object is contained in the set of observed MBeans, or 0 otherwise.
Specified by:
getDerivedGaugeTimeStamp in interface GaugeMonitorMBean
Parameters:
object - the name of the object whose derived gauge timestamp is to be returned.
Returns:
The derived gauge timestamp of the specified object.

getDerivedGauge

@Deprecated public Number getDerivedGauge()
Deprecated.
As of JMX 1.2, replaced by getDerivedGauge(ObjectName)
Returns the derived gauge of the first object in the set of observed MBeans.
Specified by:
getDerivedGauge in interface GaugeMonitorMBean
Returns:
The derived gauge.

getDerivedGaugeTimeStamp

@Deprecated public long getDerivedGaugeTimeStamp()
Deprecated.
As of JMX 1.2, replaced by getDerivedGaugeTimeStamp(ObjectName)
Gets the derived gauge timestamp of the first object in the set of observed MBeans.
Specified by:
getDerivedGaugeTimeStamp in interface GaugeMonitorMBean
Returns:
The derived gauge timestamp.

getHighThreshold

public Number getHighThreshold()
Gets the high threshold value common to all observed MBeans.
Specified by:
getHighThreshold in interface GaugeMonitorMBean
Returns:
The high threshold value.
See Also:
  • setThresholds(Number, Number)

getLowThreshold

public Number getLowThreshold()
Gets the low threshold value common to all observed MBeans.
Specified by:
getLowThreshold in interface GaugeMonitorMBean
Returns:
The low threshold value.
See Also:
  • setThresholds(Number, Number)

setThresholds

public void setThresholds(Number highValue, Number lowValue) throws IllegalArgumentException
Sets the high and the low threshold values common to all observed MBeans.
Specified by:
setThresholds in interface GaugeMonitorMBean
Parameters:
highValue - The high threshold value.
lowValue - The low threshold value.
Throws:
IllegalArgumentException - The specified high/low threshold is null or the low threshold is greater than the high threshold or the high threshold and the low threshold are not of the same type.
See Also:
  • getHighThreshold()
  • getLowThreshold()

getNotifyHigh

public boolean getNotifyHigh()
Gets the high notification's on/off switch value common to all observed MBeans.
Specified by:
getNotifyHigh in interface GaugeMonitorMBean
Returns:
true if the gauge monitor notifies when exceeding the high threshold, false otherwise.
See Also:
  • setNotifyHigh(boolean)

setNotifyHigh

public void setNotifyHigh(boolean value)
Sets the high notification's on/off switch value common to all observed MBeans.
Specified by:
setNotifyHigh in interface GaugeMonitorMBean
Parameters:
value - The high notification's on/off switch value.
See Also:
  • getNotifyHigh()

getNotifyLow

public boolean getNotifyLow()
Gets the low notification's on/off switch value common to all observed MBeans.
Specified by:
getNotifyLow in interface GaugeMonitorMBean
Returns:
true if the gauge monitor notifies when exceeding the low threshold, false otherwise.
See Also:
  • setNotifyLow(boolean)

setNotifyLow

public void setNotifyLow(boolean value)
Sets the low notification's on/off switch value common to all observed MBeans.
Specified by:
setNotifyLow in interface GaugeMonitorMBean
Parameters:
value - The low notification's on/off switch value.
See Also:
  • getNotifyLow()

getDifferenceMode

public boolean getDifferenceMode()
Gets the difference mode flag value common to all observed MBeans.
Specified by:
getDifferenceMode in interface GaugeMonitorMBean
Returns:
true if the difference mode is used, false otherwise.
See Also:
  • setDifferenceMode(boolean)

setDifferenceMode

public void setDifferenceMode(boolean value)
Sets the difference mode flag value common to all observed MBeans.
Specified by:
setDifferenceMode in interface GaugeMonitorMBean
Parameters:
value - The difference mode flag value.
See Also:
  • getDifferenceMode()

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()
Returns a NotificationInfo object containing the name of the Java class of the notification and the notification types sent by the gauge monitor.
Specified by:
getNotificationInfo in interface NotificationBroadcaster
Returns:
the array of possible notifications.

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API