Class Profiler
java.lang.Object
org.apache.jackrabbit.oak.commons.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 TypeFieldDescriptionint
int
boolean
boolean
boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Instrumentation
Get the instrumentation object if started as an agent.getTop
(int count) Get the top stack traces.static void
Run the command line version of the profiler.static void
premain
(String agentArgs, Instrumentation inst) This method is called when the agent is installed.void
run()
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.
-