Top Description Fields Constructors Methods
sun.jvmstat.perfdata.monitor

public abstract Class AbstractPerfDataBuffer

extends Object
Class Inheritance
Known Direct Subclasses
sun.jvmstat.perfdata.monitor.protocol.file.PerfDataBuffer, sun.jvmstat.perfdata.monitor.protocol.local.PerfDataBuffer
Imports
sun.jvmstat.monitor.*, java.util.*, java.io.*, java.lang.reflect.*, java.nio.ByteBuffer

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.
Author
Brian Doherty
Since
1.5

Field Summary

Modifier and TypeField and Description
protected PerfDataBufferImpl
impl

Reference to the concrete instance created by the createPerfDataBuffer method.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected void
createPerfDataBuffer(ByteBuffer
the ByteBuffer that references the instrumentation data.
bb
,
int
the Local Java Virtual Machine identifier for this instrumentation buffer.
lvmid
)

Create the perfdata instrumentation buffer for the given lvmid using the given ByteBuffer object as the source of the instrumentation data.

public Monitor

Returns:

Monitor - the Monitor object that can be used to monitor the named instrumentation object, or null if the named object doesn't exist.
findByName
(String
the name of the Instrumentation object to find.
name
)

Find a named Instrumentation object.

public List<Monitor>

Returns:

List<Monitor> - 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.
findByPattern
(String
a string containing a pattern as described in java.util.regex.Pattern.
patternString
)

Find all Instrumentation objects with names matching the given pattern.

public ByteBuffer

Returns:

ByteBuffer - a ByteBuffer object that refers to the instrumentation data.
getByteBuffer
()

Get the ByteBuffer containing the instrumentation data.

public byte[]

Returns:

byte[] - a copy of the bytes in the instrumentation buffer.
getBytes
()

Get a copy of the raw instrumentation data.

public int

Returns:

int - the capacity, or size, of the instrumentation buffer.
getCapacity
()

Get the capacity of the instrumentation buffer.

public int

Returns:

int - the lvmid
getLocalVmId
()

Get the Local Java Virtual Machine Identifier, or lvmid for the target JVM associated with this instrumentation buffer.

public MonitorStatus

Returns:

MonitorStatus - the status of available Monitors for the target Java Virtual Machine.
getMonitorStatus
()

Get a list of the inserted and removed monitors since last called.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

implback to summary
protected PerfDataBufferImpl impl

Reference to the concrete instance created by the createPerfDataBuffer method.

Constructor Detail

AbstractPerfDataBufferback to summary
public AbstractPerfDataBuffer()

Method Detail

createPerfDataBufferback to summary
protected void createPerfDataBuffer(ByteBuffer bb, int lvmid) throws MonitorException

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:ByteBuffer

the ByteBuffer that references the instrumentation data.

lvmid:int

the Local Java Virtual Machine identifier for this instrumentation buffer.

findByNameback to summary
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.

Parameters
name:String

the name of the Instrumentation object to find.

Returns:Monitor

Monitor - the Monitor object that can be used to monitor the named instrumentation object, or null if the named object doesn't exist.

Exceptions
MonitorException:
Thrown if an error occurs while communicating with the target Java Virtual Machine.
findByPatternback to summary
public List<Monitor> 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:String

a string containing a pattern as described in java.util.regex.Pattern.

Returns:List<Monitor>

List<Monitor> - 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.

Exceptions
MonitorException:
Thrown if an error occurs while communicating with the target Java Virtual Machine.
See Also
java.util.regex.Pattern
getByteBufferback to summary
public ByteBuffer getByteBuffer()

Get the ByteBuffer containing the instrumentation data.

Returns:ByteBuffer

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

getBytesback to summary
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[]

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

getCapacityback to summary
public int getCapacity()

Get the capacity of the instrumentation buffer.

Returns:int

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

getLocalVmIdback to summary
public int getLocalVmId()

Get the Local Java Virtual Machine Identifier, or lvmid for the target JVM associated with this instrumentation buffer.

Returns:int

int - the lvmid

getMonitorStatusback to summary
public MonitorStatus getMonitorStatus() throws MonitorException

Get a list of the inserted and removed monitors since last called.

Returns:MonitorStatus

MonitorStatus - the status of available Monitors for the target Java Virtual Machine.

Exceptions
MonitorException:
Thrown if communications errors occur while communicating with the target.