Package org.h2.util
Class Profiler
java.lang.Object
org.h2.util.Profiler
- All Implemented Interfaces:
Runnable
A simple CPU profiling tool similar to java -Xrunhprof. It can be used
in-process (to profile the current application) or as a standalone program
(to profile a different process, or files containing full thread dumps).
-
Field Summary
FieldsModifier and TypeFieldDescriptionintintbooleanbooleanboolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic InstrumentationGet the instrumentation object if started as an agent.getTop(int count) Get the top stack traces.static voidRun the command line version of the profiler.static voidpremain(String agentArgs, Instrumentation inst) This method is called when the agent is installed.voidrun()Start collecting profiling data.Stop collecting.
-
Field Details
-
interval
public int interval -
depth
public int depth -
paused
public boolean paused -
sumClasses
public boolean sumClasses -
sumMethods
public boolean sumMethods
-
-
Constructor Details
-
Profiler
public Profiler()
-
-
Method Details
-
premain
This method is called when the agent is installed.- Parameters:
agentArgs- the agent argumentsinst- the instrumentation object
-
getInstrumentation
Get the instrumentation object if started as an agent.- Returns:
- the instrumentation, or null
-
main
Run the command line version of the profiler. The JDK (jps and jstack) need to be in the path.- Parameters:
args- the process id of the process - if not set the java processes are listed
-
startCollecting
Start collecting profiling data.- Returns:
- this
-
stopCollecting
Stop collecting.- Returns:
- this
-
run
public void run() -
getTop
Get the top stack traces.- Parameters:
count- the maximum number of stack traces- Returns:
- the stack traces.
-