Jvmstat

sun.jvmstat.perfdata.monitor
Class PerfDataBufferImpl

java.lang.Object
  extended by sun.jvmstat.perfdata.monitor.PerfDataBufferImpl
Direct Known Subclasses:
PerfDataBuffer

public abstract class PerfDataBufferImpl
extends Object

The base classes for the concrete implementations of the HotSpot PerfData instrumentation buffer.

Since:
1.5
See Also:
AbstractPerfDataBuffer

Field Summary
protected  Map aliasCache
          A cache of resolved monitor aliases.
protected  Map aliasMap
          A Map of monitor object names to aliases as read in from the alias map file.
protected  ByteBuffer buffer
          The buffer containing the instrumentation data.
protected  int lvmid
          The Local Java Virtual Machine Identifier for this buffer.
protected  Map monitors
          A Map of monitor objects found in the instrumentation buffer.
 
Constructor Summary
protected PerfDataBufferImpl(ByteBuffer buffer, int lvmid)
          Constructor.
 
Method Summary
protected abstract  void buildMonitorMap(Map m)
          build the map of Monitor objects.
protected  Monitor findByAlias(String name)
          Find the Monitor object for the named counter by using one of its aliases.
 Monitor findByName(String name)
          Find a named Instrumentation object.
 List findByPattern(String patternString)
          Find all Instrumentation objects with names matching the given pattern.
 byte[] getBytes()
          Get a copy of the raw instrumentation data.
 int getCapacity()
          Get the capacity of the instrumentation buffer.
 int getLocalVmId()
          Get the Local Java Virtual Machine Identifier, or lvmid for the target JVM associated with this instrumentation buffer.
 MonitorStatus getMonitorStatus()
          Get a list of the inserted and removed monitors since last called.
protected abstract  MonitorStatus getMonitorStatus(Map m)
          get the list of inserted and removed monitors since last called.
protected abstract  void getNewMonitors(Map m)
          get the new Monitor objects from the Map of Monitor objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buffer

protected ByteBuffer buffer
The buffer containing the instrumentation data.


monitors

protected Map monitors
A Map of monitor objects found in the instrumentation buffer.


lvmid

protected int lvmid
The Local Java Virtual Machine Identifier for this buffer.


aliasMap

protected Map aliasMap
A Map of monitor object names to aliases as read in from the alias map file.


aliasCache

protected Map aliasCache
A cache of resolved monitor aliases.

Constructor Detail

PerfDataBufferImpl

protected PerfDataBufferImpl(ByteBuffer buffer,
                             int lvmid)
Constructor.

Parameters:
buffer - the ByteBuffer containing the instrumentation data.
lvmid - the Local Java Virtual Machine Identifier for this instrumentation buffer.
Method Detail

getLocalVmId

public int getLocalVmId()
Get the Local Java Virtual Machine Identifier, or lvmid for the target JVM associated with this instrumentation buffer.

Returns:
int - the lvmid

getBytes

public byte[] getBytes()
Get a copy of the raw instrumentation data. This method is used to get a copy of the current bytes in the instrumentation buffer. It is generally used for transporting those bytes over the network.

Returns:
byte[] - a copy of the bytes in the instrumentation buffer.

getCapacity

public int getCapacity()
Get the capacity of the instrumentation buffer.

Returns:
int - the capacity, or size, of the instrumentation buffer.

findByAlias

protected Monitor findByAlias(String name)
Find the Monitor object for the named counter by using one of its aliases.


findByName

public 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. The method will map requests for instrumention objects using old names to their current names, if applicable.

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

public List findByPattern(String patternString)
                   throws MonitorException,
                          PatternSyntaxException
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.
PatternSyntaxException
See Also:
Pattern

getMonitorStatus

public MonitorStatus getMonitorStatus()
                               throws MonitorException
Get a list of the inserted and removed monitors since last called.

Returns:
MonitorStatus - the status of available Monitors for the target Java Virtual Machine.
Throws:
MonitorException - Thrown if communications errors occur while communicating with the target.

getMonitorStatus

protected abstract MonitorStatus getMonitorStatus(Map m)
                                           throws MonitorException
get the list of inserted and removed monitors since last called.

Parameters:
m - the map of Monitors.
Throws:
MonitorException - Thrown if communications errors occur while communicating with the target.

buildMonitorMap

protected abstract void buildMonitorMap(Map m)
                                 throws MonitorException
build the map of Monitor objects.

Parameters:
m - the map of Monitors.
Throws:
MonitorException - Thrown if communications errors occur while communicating with the target.

getNewMonitors

protected abstract void getNewMonitors(Map m)
                                throws MonitorException
get the new Monitor objects from the Map of Monitor objects.

Parameters:
m - the map of Monitors.
Throws:
MonitorException - Thrown if communications errors occur while communicating with the target.

Jvmstat