Jvmstat

sun.jvmstat.perfdata.monitor.v2_0
Class PerfDataBufferPrologue

java.lang.Object
  extended by sun.jvmstat.perfdata.monitor.AbstractPerfDataBufferPrologue
      extended by sun.jvmstat.perfdata.monitor.v2_0.PerfDataBufferPrologue

public class PerfDataBufferPrologue
extends AbstractPerfDataBufferPrologue

Class representing the 2.0 version of the HotSpot PerfData instrumentation buffer header.

The PerfDataBufferPrologue class supports parsing of the version specific portions of the PerfDataPrologue C structure:

 typedef struct {
   ...                      // handled by superclass
   jint used;               // number of PerfData memory bytes used
   jint overflow;           // number of bytes of overflow
   jlong mod_time_stamp;    // time stamp of the last structural modification
   jint entry_offset;       // offset of the first PerfDataEntry
   jint num_entries;        // number of allocated PerfData entries
 } PerfDataPrologue
 

Since:
1.5

Field Summary
 
Fields inherited from class sun.jvmstat.perfdata.monitor.AbstractPerfDataBufferPrologue
byteBuffer, PERFDATA_MAJOR_NAME, PERFDATA_MINOR_NAME
 
Constructor Summary
PerfDataBufferPrologue(ByteBuffer byteBuffer)
          Create an instance of PerfDataBufferPrologue from the given ByteBuffer object.
 
Method Summary
 int getBufferSize()
          Get the size of the instrumentation memory buffer.
 int getEntryOffset()
          Get the offset of the first PerfDataEntry.
 long getModificationTimeStamp()
          Get the time of last modification for the instrumentation memory buffer.
 int getNumEntries()
          Get the offset of the first PerfDataEntry.
 int getOverflow()
          Get the buffer overflow amount.
 int getSize()
          Get the size of the header portion of the instrumentation buffer.
 int getUsed()
          Get the utilization of the instrumentation memory buffer.
 boolean isAccessible()
          Get the accessible flag.
 boolean supportsAccessible()
          Test if the accessible flag is supported by this version of the PerfDataBufferPrologue.
 
Methods inherited from class sun.jvmstat.perfdata.monitor.AbstractPerfDataBufferPrologue
getByteOrder, getByteOrder, getMagic, getMagic, getMajorVersion, getMajorVersion, getMinorVersion, getMinorVersion, majorVersionBuffer, minorVersionBuffer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PerfDataBufferPrologue

public PerfDataBufferPrologue(ByteBuffer byteBuffer)
                       throws MonitorException
Create an instance of PerfDataBufferPrologue from the given ByteBuffer object.

Parameters:
byteBuffer - the buffer containing the binary header data
Throws:
MonitorException
Method Detail

supportsAccessible

public boolean supportsAccessible()
Test if the accessible flag is supported by this version of the PerfDataBufferPrologue. Although not an abstract method, this method should be overridden by version specific subclasses.

Specified by:
supportsAccessible in class AbstractPerfDataBufferPrologue
Returns:
boolean - the initialized flag support status.
See Also:
AbstractPerfDataBufferPrologue.isAccessible()

isAccessible

public boolean isAccessible()
Get the accessible flag. If supported, it indicates that the shared memory region is sufficiently initialized for client acccess.

Specified by:
isAccessible in class AbstractPerfDataBufferPrologue
Returns:
boolean - the initialized status
See Also:
AbstractPerfDataBufferPrologue.supportsAccessible()

getUsed

public int getUsed()
Get the utilization of the instrumentation memory buffer.

Returns:
int - the utilization of the buffer

getBufferSize

public int getBufferSize()
Get the size of the instrumentation memory buffer.

Returns:
int - the size of the buffer

getOverflow

public int getOverflow()
Get the buffer overflow amount. This value is non-zero if the HotSpot JVM has overflowed the instrumentation memory buffer. The target JVM can be restarted with -XX:PerfDataMemSize=X to create a larger memory buffer.

Returns:
int - the size of the buffer

getModificationTimeStamp

public long getModificationTimeStamp()
Get the time of last modification for the instrumentation memory buffer. This method returns the time, as ticks since the start of the target JVM, of the last structural modification to the instrumentation buffer. Structural modifications correspond to the addition or deletion of instrumentation objects. Updates to counter values are not structural modifications.


getEntryOffset

public int getEntryOffset()
Get the offset of the first PerfDataEntry.


getNumEntries

public int getNumEntries()
Get the offset of the first PerfDataEntry.


getSize

public int getSize()
Get the size of the header portion of the instrumentation buffer.

Overrides:
getSize in class AbstractPerfDataBufferPrologue
Returns:
int - the size of the header

Jvmstat