Logo Search packages:      
Sourcecode: visualvm version File versions  Download package

org::netbeans::lib::profiler::results::cpu::CPUResultsSnapshot Class Reference

Inheritance diagram for org::netbeans::lib::profiler::results::cpu::CPUResultsSnapshot:


List of all members.

Detailed Description

Management of the CPU profiling results snapshot. A CPU snapshot is created from the runtime CCTs for all profiled threads, that are provided by CPUCallGraphBuilder. Initially it contains only these same (logically) CCTs (in instances of CPUCCTContainer), but in compact "flattened" format that takes less space in memory, and represented in microseconds, cleansed time. When the user starts to open CCT nodes for the given thread, the relevant objects (PrestimeCPUCCTNodes) are generated lazily for touched nodes out of the initial compact representation. This is done via a PrestimeCPUCCTNode object keeping a pointer into the compact tree representation where its data is located, from which the data for its children can be located, etc. When the user requests data in different "view" (switching say from method-level to class- (or package-) level aggregation), the relevant compact representation for all threads is generated out of the initial compact representation.

Has an API for

Misha Dmitriev

Definition at line 73 of file CPUResultsSnapshot.java.

Public Member Functions

 CPUResultsSnapshot (long beginTime, long timeTaken, CPUCCTProvider cctProvider, ProfilingSessionStatus status) throws NoDataAvailableException
long getBeginTime ()
CPUCCTContainer getContainerForThread (int threadId, int view)
FlatProfileContainer getFlatProfile (int threadId, int view)
String[] getInstrMethodClasses (int view)
String[] getInstrMethodNames ()
String[] getInstrMethodSignatures ()
String[] getMethodClassNameAndSig (int methodId, int view)
int getNInstrMethods ()
int getNThreads ()
PrestimeCPUCCTNode getReverseCCT (int threadId, int methodId, int view)
PrestimeCPUCCTNode getRootNode (int view)
int getSortBy ()
boolean getSortOrder ()
int[] getThreadIds ()
String getThreadNameForId (int threadId)
String[] getThreadNames ()
long getTimeTaken ()
boolean isCollectingTwoTimeStamps ()
void readFromStream (DataInputStream in) throws IOException
void saveSortParams (int sortBy, boolean sortOrder)
String toString ()
void writeToStream (DataOutputStream out) throws IOException

Static Public Attributes

static final int CLASS_LEVEL_VIEW = 1
static final int METHOD_LEVEL_VIEW = 0
static final int PACKAGE_LEVEL_VIEW = 2

Protected Member Functions

String debugLength (Object array)

Protected Attributes

long beginTime
long timeTaken

Static Protected Attributes

static final Logger LOGGER = Logger.getLogger(ResultsSnapshot.class.getName())

Private Member Functions

PrestimeCPUCCTNode createRootNodeForAllThreads (int view)
void debugValues ()
void generateDataForView (int view)
int getContainerIdForThreadId (int threadId)

Private Attributes

CPUCCTContainer[] allThreadsMergedCCTContainers
boolean collectingTwoTimeStamps
String[][] instrMethodClassesViews
String[] instrMethodNames
String[] instrMethodSignatures
int nInstrMethods
PrestimeCPUCCTNode[] rootNode
int sortNodesBy
boolean sortNodesOrder
CPUCCTContainer[][] threadCCTContainers
Map threadIdMap

Static Private Attributes

static final String CPU_MSG = messages.getString("CPUResultsSnapshot_CpuMsg")
static final ResourceBundle messages = ResourceBundle.getBundle("org.netbeans.lib.profiler.results.cpu.Bundle")


class  NoDataAvailableException

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index