org.ow2.jasmine.monitoring.mbeancmd.sampling
Class Sampler

java.lang.Object
  extended byorg.ow2.jasmine.monitoring.mbeancmd.sampling.Sampler
Direct Known Subclasses:
CpuSunSampler, DSSampler, EntitySampler, JCACFSampler, JoramQSampler, ServerSampler, ServletSampler, SFBSampler, SLBSampler, TxSampler, WebSampler

public abstract class Sampler
extends java.lang.Object

Base class for all sampler classes.


Field Summary
private  java.lang.String domain
          Server's domain name, set automatically when getMBeanServerConnection() is called.
private  java.lang.String jmxUrl
          JMX URL.
private  javax.management.MBeanServerConnection mbscnx
          Connection to MBean server.
private  java.lang.String name
          Name set for the server in the jmxurls.properties file, set automatically when getMBeanServerConnection() is called.
private  java.lang.String objectName
          Object name.
protected  javax.management.ObjectName[] oNames
          Object names, see init().
private  java.lang.String server
          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()
           
 java.lang.String getDomain()
           
protected  javax.management.MBeanServerConnection getMBeanServerConnection()
           
 java.lang.String getName()
           
protected  java.lang.String getOn()
           
 java.lang.String getServer()
           
 void init()
          Initialize the sampler, itself called by process(long, PrintStream).
protected abstract  SampleData newSampleData()
           
protected abstract  SampleData poll(SampleData prev)
          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.
 SampleData sample(SampleData 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.


name

private java.lang.String name
Name set for the server in the jmxurls.properties file, set automatically when getMBeanServerConnection() is called.


server

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


domain

private java.lang.String domain
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()
Returns:
Default Object name filtering pattern for this sampler. If null, we'll consider that the Sampler doesn't have one default object name filter.

getOn

protected java.lang.String getOn()
Returns:
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 SampleData sample(SampleData 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.

getName

public java.lang.String getName()
Returns:
Name set for the server in the jmxurls.properties file.

getServer

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

getDomain

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

newSampleData

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

poll

protected abstract SampleData poll(SampleData prev)
Poll based on a previous sample.

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