public class

PerfDataBuffer

extends PerfDataBufferImpl
java.lang.Object
   ↳ sun.jvmstat.perfdata.monitor.PerfDataBufferImpl
     ↳ sun.jvmstat.perfdata.monitor.v2_0.PerfDataBuffer

Class Overview

The concrete implementation of version 2.0 of the HotSpot PerfData Instrumentation buffer. This class is responsible for parsing the instrumentation memory and constructing the necessary objects to represent and access the instrumentation objects contained in the memory buffer.

The structure of the 2.0 entry is defined in struct PerfDataEnry as decsribed in perfMemory.hpp. This structure looks like:

 typedef struct {
   jint entry_length;         // entry length in bytes
   jint name_offset;          // offset to entry name, relative to start
                              // of entry
   jint vector_length;        // length of the vector. If 0, then scalar.
   jbyte data_type;           // JNI field descriptor type
   jbyte flags;               // miscellaneous attribute flags
                              // 0x01 - supported
   jbyte data_units;          // unit of measure attribute
   jbyte data_variability;    // variability attribute
   jbyte data_offset;         // offset to data item, relative to start
                              // of entry.
 } PerfDataEntry;
 

Summary

[Expand]
Inherited Fields
From class sun.jvmstat.perfdata.monitor.PerfDataBufferImpl
Public Constructors
PerfDataBuffer(ByteBuffer buffer, int lvmid)
Construct a PerfDataBuffer instance.
Protected Methods
void buildMonitorMap(Map<StringMonitor> map)
build the map of Monitor objects.
void buildPseudoMonitors(Map<StringMonitor> map)
Build the pseudo monitors used to map the prolog data into counters.
MonitorStatus getMonitorStatus(Map<StringMonitor> map)
get the list of inserted and removed monitors since last called.
void getNewMonitors(Map<StringMonitor> map)
get the new Monitor objects from the Map of Monitor objects.
Monitor getNextMonitorEntry()
method to extract the next monitor entry from the instrumentation memory.
void synchWithTarget()
Method that waits until the target jvm indicates that its shared memory is safe to access.
[Expand]
Inherited Methods
From class sun.jvmstat.perfdata.monitor.PerfDataBufferImpl
From class java.lang.Object

Public Constructors

public PerfDataBuffer (ByteBuffer buffer, int lvmid)

Construct a PerfDataBuffer instance.

This class is dynamically loaded by createPerfDataBuffer(ByteBuffer, int), and this constructor is called to instantiate the instance.

Parameters
buffer the buffer containing the instrumentation data
lvmid the Local Java Virtual Machine Identifier for this instrumentation buffer.

Protected Methods

protected void buildMonitorMap (Map<StringMonitor> map)

build the map of Monitor objects.

Parameters
map the map of Monitors.

protected void buildPseudoMonitors (Map<StringMonitor> map)

Build the pseudo monitors used to map the prolog data into counters.

protected MonitorStatus getMonitorStatus (Map<StringMonitor> map)

get the list of inserted and removed monitors since last called.

Parameters
map the map of Monitors.

protected void getNewMonitors (Map<StringMonitor> map)

get the new Monitor objects from the Map of Monitor objects.

Parameters
map the map of Monitors.

protected Monitor getNextMonitorEntry ()

method to extract the next monitor entry from the instrumentation memory. assumes that nextEntry is the offset into the byte array at which to start the search for the next entry. method leaves next entry pointing to the next entry or to the end of data.

protected void synchWithTarget ()

Method that waits until the target jvm indicates that its shared memory is safe to access.