Package hudson.node_monitors
Class AbstractNodeMonitorDescriptor<T>
- java.lang.Object
-
- hudson.model.Descriptor<NodeMonitor>
-
- hudson.node_monitors.AbstractNodeMonitorDescriptor<T>
-
- Type Parameters:
T
- represents the result of the monitoring.
- Direct Known Subclasses:
AbstractAsyncNodeMonitorDescriptor
public abstract class AbstractNodeMonitorDescriptor<T> extends Descriptor<NodeMonitor>
Convenient base class for commonNodeMonitor
implementation where the "monitoring" consists of executing something periodically on every node and taking some action based on its result.- Author:
- Kohsuke Kawaguchi
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class hudson.model.Descriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.Self
-
-
Field Summary
-
Fields inherited from class hudson.model.Descriptor
clazz
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractNodeMonitorDescriptor()
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
protected
AbstractNodeMonitorDescriptor(long interval)
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
protected
AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz)
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
protected
AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz, long interval)
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description T
get(Computer c)
Obtains the monitoring result currently available, or null if no data is available.protected long
getMonitoringTimeOut()
Controls the time out of monitoring.long
getTimestamp()
The timestamp that indicates when the last round of the monitoring has completed.String
getTimestampString()
boolean
isIgnored()
Is this monitor currently ignored?protected boolean
markOffline(Computer c)
Deprecated.as of 1.320 UsemarkOffline(Computer, OfflineCause)
to specify the cause.protected boolean
markOffline(Computer c, OfflineCause oc)
Utility method to mark the computer offline for derived classes.protected boolean
markOnline(Computer c)
Utility method to mark the computer online for derived classes.protected Map<Computer,T>
monitor()
Performs monitoring across the board.protected abstract T
monitor(Computer c)
Performs monitoring of the given computer object.-
Methods inherited from class hudson.model.Descriptor
addHelpFileRedirect, bindJSON, calcAutoCompleteSettings, calcFillSettings, configure, configure, doHelp, find, find, findByDescribableClassName, findById, getCategory, getCheckMethod, getCheckUrl, getConfigFile, getConfigPage, getCurrentDescriptorByNameUrl, getDescriptorFullUrl, getDescriptorUrl, getDisplayName, getGlobalConfigPage, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getKlass, getPlugin, getPossibleViewNames, getPropertyType, getPropertyType, getPropertyTypeOrDie, getRequiredGlobalConfigPagePermission, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
-
-
-
-
Constructor Detail
-
AbstractNodeMonitorDescriptor
@Deprecated protected AbstractNodeMonitorDescriptor()
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
-
AbstractNodeMonitorDescriptor
@Deprecated protected AbstractNodeMonitorDescriptor(long interval)
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
-
AbstractNodeMonitorDescriptor
@Deprecated protected AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz)
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
-
AbstractNodeMonitorDescriptor
@Deprecated protected AbstractNodeMonitorDescriptor(Class<? extends NodeMonitor> clazz, long interval)
Deprecated.as of 1.522 Extend fromAbstractAsyncNodeMonitorDescriptor
-
-
Method Detail
-
monitor
protected abstract T monitor(Computer c) throws IOException, InterruptedException
Performs monitoring of the given computer object. This method is invoked periodically to perform the monitoring of the computer.- Returns:
- Application-specific value that represents the observed monitoring value
on the given node. This value will be returned from the
get(Computer)
method. If null is returned, it will be interpreted as "no observed value." This is convenient way of abandoning the observation on a particular computer, whereasIOException
is useful for indicating a hard error that needs to be corrected. - Throws:
IOException
InterruptedException
-
monitor
protected Map<Computer,T> monitor() throws InterruptedException
Performs monitoring across the board.- Returns:
- For all the computers, report the monitored values.
- Throws:
InterruptedException
-
get
public T get(Computer c)
Obtains the monitoring result currently available, or null if no data is available.If no data is available, a background task to collect data will be started.
-
getTimestamp
public long getTimestamp()
The timestamp that indicates when the last round of the monitoring has completed.
-
getTimestampString
public String getTimestampString()
-
isIgnored
public boolean isIgnored()
Is this monitor currently ignored?
-
markOnline
protected boolean markOnline(Computer c)
Utility method to mark the computer online for derived classes.- Returns:
- true if the node was actually taken online by this act (as opposed to us deciding not to do it, or the computer was already online.)
-
markOffline
protected boolean markOffline(Computer c, OfflineCause oc)
Utility method to mark the computer offline for derived classes.- Returns:
- true if the node was actually taken offline by this act (as opposed to us deciding not to do it, or the computer already marked offline.)
-
markOffline
@Deprecated protected boolean markOffline(Computer c)
Deprecated.as of 1.320 UsemarkOffline(Computer, OfflineCause)
to specify the cause.
-
getMonitoringTimeOut
protected long getMonitoringTimeOut()
Controls the time out of monitoring.
-
-