org.ow2.jasmine.monitoring.mbeancmd.sampling
Class Sampler<T extends SampleData>

java.lang.Object
  extended by org.ow2.jasmine.monitoring.mbeancmd.sampling.Sampler<T>
Direct Known Subclasses:
CpuSunSampler, DSSampler, EntitySampler, JCACFSampler, ServerSampler, ServletSampler, SFBSampler, SLBSampler, TxSampler, WebSampler

public abstract class Sampler<T extends SampleData>
extends java.lang.Object

Base class for all sampler classes.


Field Summary
private  java.lang.String jmxUrl
          JMX URL.
private  javax.management.MBeanServerConnection mbscnx
          Connection to MBean server.
private  java.lang.String objectName
          Object name.
protected  javax.management.ObjectName[] oNames
          Object names, see init()
private  java.lang.String serverDomain
          Server's domain name, set automatically when getMBeanServerConnection() is called.
private  java.lang.String serverName
          Server name, set automatically when getMBeanServerConnection() is called.
 
Constructor Summary
Sampler(java.lang.String urlString)
          Creates the Sampler using a JMX URL.
 
Method Summary
protected abstract  java.lang.String getDefaultOn()
          return Default Object name filtering pattern for this sampler.
protected  javax.management.MBeanServerConnection getMBeanServerConnection()
           
protected  java.lang.String getOn()
          return Object name filtering pattern.
 java.lang.String getServerDomain()
           
 java.lang.String getServerName()
           
 void init()
          Initialize the sampler, itself called by process(long, PrintStream).
protected abstract  T newSampleData()
           
protected abstract  T poll(T data)
          Poll based on a previous sample.
 void process(long period, java.io.PrintStream out)
          Start polling data.
protected  javax.management.ObjectName[] queryON(java.lang.String onProto)
          Gets the list of object names that match a given object name prototype.
 T sample(T previous)
          Samples data based on a previous sample.
 void setOn(java.lang.String onProto)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

oNames

protected javax.management.ObjectName[] oNames
Object names, see init()


objectName

private java.lang.String objectName
Object name.


serverName

private java.lang.String serverName
Server name, set automatically when getMBeanServerConnection() is called.


serverDomain

private java.lang.String serverDomain
Server's domain name, set automatically when getMBeanServerConnection() is called.


jmxUrl

private java.lang.String jmxUrl
JMX URL.


mbscnx

private javax.management.MBeanServerConnection mbscnx
Connection to MBean server.

Constructor Detail

Sampler

public Sampler(java.lang.String urlString)
Creates the Sampler using a JMX URL.

Parameters:
urlString - JMX URL.
Method Detail

getMBeanServerConnection

protected final javax.management.MBeanServerConnection getMBeanServerConnection()
Returns:
Connection to MBean server. Will return existing instance if already connected, and try to connect if no connection exists. Returns null on failure.

queryON

protected final javax.management.ObjectName[] queryON(java.lang.String onProto)
Gets the list of object names that match a given object name prototype.

Parameters:
onProto - Object name filtering pattern to use.
Returns:
All objects that match onProto.

getDefaultOn

protected abstract java.lang.String getDefaultOn()
return Default Object name filtering pattern for this sampler. If null, then we'll consider that the Sampler doesn't have one default object name filter.


getOn

protected java.lang.String getOn()
return Object name filtering pattern.


setOn

public void setOn(java.lang.String onProto)
Parameters:
onProto - Object name filtering pattern to set.

init

public void init()
Initialize the sampler, itself called by process(long, PrintStream). This implementation will fill oNames based on the object name filter set using setOn(String). If no filter was set before calling this method, will call set object name to getDefaultOn(). If getDefaultOn() has returned null, then oNames will remain null.


sample

public final T sample(T previous)
Samples data based on a previous sample.

Parameters:
previous - Previous sample.
Returns:
Sampled data, @see SampleData#compute(SampleData)

process

public final void process(long period,
                          java.io.PrintStream out)
Start polling data. Will never return (except on failure).

Parameters:
period - Poll period.
out - Stream to write results into.

getServerName

public java.lang.String getServerName()
Returns:
Server name.

getServerDomain

public java.lang.String getServerDomain()
Returns:
Server's domain name.

newSampleData

protected abstract T newSampleData()
Returns:
New sample data.

poll

protected abstract T poll(T data)
Poll based on a previous sample.

Parameters:
data - Previous sample.
Returns:
Resulting data.