public abstract class

AbstractPerfDataBuffer

extends Object
java.lang.Object
   ↳ sun.jvmstat.perfdata.monitor.AbstractPerfDataBuffer
Known Direct Subclasses

Class Overview

Abstraction for the HotSpot PerfData instrumentation buffer. This class is responsible for acquiring access to the instrumentation buffer for a target HotSpot Java Virtual Machine and providing method level access to its contents.

Summary

Fields
protected PerfDataBufferImpl impl Reference to the concrete instance created by the createPerfDataBuffer(ByteBuffer, int) method.
Public Constructors
AbstractPerfDataBuffer()
Public Methods
Monitor findByName(String name)
Find a named Instrumentation object.
List<Monitor> findByPattern(String patternString)
Find all Instrumentation objects with names matching the given pattern.
ByteBuffer getByteBuffer()
Get the ByteBuffer containing the instrumentation data.
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 Methods
void createPerfDataBuffer(ByteBuffer bb, int lvmid)
Create the perfdata instrumentation buffer for the given lvmid using the given ByteBuffer object as the source of the instrumentation data.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

protected PerfDataBufferImpl impl

Reference to the concrete instance created by the createPerfDataBuffer(ByteBuffer, int) method.

Public Constructors

public AbstractPerfDataBuffer ()

Public Methods

public Monitor findByName (String name)

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.

public List<Monitor> findByPattern (String patternString)

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

public ByteBuffer getByteBuffer ()

Get the ByteBuffer containing the instrumentation data.

Returns
  • ByteBuffer - a ByteBuffer object that refers to the instrumentation data.

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.

public int getCapacity ()

Get the capacity of the instrumentation buffer.

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

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

public MonitorStatus getMonitorStatus ()

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.

Protected Methods

protected void createPerfDataBuffer (ByteBuffer bb, int lvmid)

Create the perfdata instrumentation buffer for the given lvmid using the given ByteBuffer object as the source of the instrumentation data. This method parses the instrumentation buffer header to determine key characteristics of the instrumentation buffer and then dynamically loads the appropriate class to handle the particular instrumentation version.

Parameters
bb the ByteBuffer that references the instrumentation data.
lvmid the Local Java Virtual Machine identifier for this instrumentation buffer.