Jvmstat

sun.jvmstat.monitor
Interface MonitoredVm

All Known Subinterfaces:
BufferedMonitoredVm
All Known Implementing Classes:
AbstractMonitoredVm, FileMonitoredVm, LocalMonitoredVm, RemoteMonitoredVm

public interface MonitoredVm

Interface for interacting with a monitorable Java Virtual Machine. The MonitoredVm interface provides methods for discovery of exported instrumentation, for attaching event listeners, and for overall maintenance of the connection to the target.

Since:
1.5

Method Summary
 void addVmListener(VmListener listener)
          Add a VmListener.
 void clearLastException()
          Clear the last exception.
 void detach()
          Detach from target Java Virtual Machine.
 Monitor findByName(String name)
          Find a named Instrumentation object.
 List findByPattern(String patternString)
          Find all Instrumentation objects with names matching the given pattern.
 int getInterval()
          Get the polling interval.
 Exception getLastException()
          Get the last exception encountered while polling this MonitoredVm.
 VmIdentifier getVmIdentifier()
          Get the VmIdentifier associated with this MonitoredVm
 boolean isErrored()
          Test if this MonitoredVm is in the errored state.
 void removeVmListener(VmListener listener)
          Remove a VmListener.
 void setInterval(int interval)
          Set the polling interval to interval milliseconds.
 void setLastException(Exception cause)
          Set the last exception encountered while polling this MonitoredVm.
 

Method Detail

getVmIdentifier

VmIdentifier getVmIdentifier()
Get the VmIdentifier associated with this MonitoredVm

Returns:
VmIdentifier - the fully resolved Vm identifier associated with this MonitoredVm.

findByName

Monitor findByName(String name)
                   throws MonitorException
Find a named Instrumentation object. This method will look for the named instrumentation object in the instrumentation exported by this Java Virtual Machine. If an instrumentation object with the given name exists, a Monitor interface to that object will be return. Otherwise, the method returns null.

Parameters:
name - the name of the Instrumentation object to find.
Returns:
Monitor - the Monitor object that can be used to monitor the the named instrumentation object, or null if the named object doesn't exist.
Throws:
MonitorException - Thrown if an error occurs while communicating with the target Java Virtual Machine.

findByPattern

List findByPattern(String patternString)
                   throws MonitorException
Find all Instrumentation objects with names matching the given pattern. This method returns a List of Monitor objects such that the name of each object matches the given pattern.

Parameters:
patternString - a string containing a pattern as described in Pattern.
Returns:
List - a List of Monitor objects that can be used to monitor the instrumentation objects whose names match the given pattern. If no instrumentation objects have` names matching the given pattern, then an empty List is returned.
Throws:
MonitorException - Thrown if an error occurs while communicating with the target Java Virtual Machine.
See Also:
Pattern

detach

void detach()
Detach from target Java Virtual Machine. After calling this method, updates of the instrumentation data values may be halted. All event notifications are halted. Further interactions with this object should be avoided.


setInterval

void setInterval(int interval)
Set the polling interval to interval milliseconds. Polling based monitoring implementations need to refresh the instrumentation data on a periodic basis. This interface allows the interval to override the implementation specific default interval.

Parameters:
interval - the polling interval in milliseconds

getInterval

int getInterval()
Get the polling interval.

Returns:
int - the current polling interval in milliseconds.
See Also:
setInterval(int)

setLastException

void setLastException(Exception cause)
Set the last exception encountered while polling this MonitoredVm. Polling implementations may choose to poll asynchronously. This method allows an asynchronous task to communicate any polling related exceptions with the application. When an a non-null exception is reported through this interface, the MonitoredVm instance is considered to be in the errored state.

Parameters:
cause - the exception to record.
See Also:
isErrored()

getLastException

Exception getLastException()
Get the last exception encountered while polling this MonitoredVm. Returns the last exception observed by the implementation dependent polling task or null if no such error has occurred.

Returns:
Exception - the last exception that occurred during polling or null if no error condition exists.
See Also:
isErrored(), setLastException(java.lang.Exception)

clearLastException

void clearLastException()
Clear the last exception. Calling this method will clear the errored state of this MonitoredVm. However, there is no guarantee that clearing the the errored state return the asynchronous polling task to an operational state.


isErrored

boolean isErrored()
Test if this MonitoredVm is in the errored state. The errored state exists only if an error was reported with call to setLastException(java.lang.Exception) and only if the parameter to that call was non-null and no subsequent calls are made to clearLastException().

Returns:
boolean - true if the instance has a non-null error condition set, false otherwise.
See Also:
setLastException(java.lang.Exception), getLastException()

addVmListener

void addVmListener(VmListener listener)
                   throws MonitorException
Add a VmListener. The given listener is added to the list of VmListener objects to be notified of MonitoredVm related events.

Parameters:
listener - the VmListener to add.
Throws:
MonitorException - Thrown if any problems occur while attempting to add this listener.

removeVmListener

void removeVmListener(VmListener listener)
                      throws MonitorException
Remove a VmListener. The given listener is removed from the list of VmListener objects to be notified of MonitoredVm related events.

Parameters:
listener - the VmListener to be removed.
Throws:
MonitorException - Thrown if any problems occur while attempting to remove this listener.

Jvmstat