- Running the profiler
- Profiler activation
- Running applications with the profiler
- Connect to profiled application
- Troubleshoot connection problems
- Solving performance problems
- CPU profiling
- Deadlock detector
- Memory profiling
- Garbage collection
- Monitor profiling
- Exception profiling
- Probes: monitor events of various kinds
- Performance Charts
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Summary, snapshot annotation, automatic deobfuscation
- IDE integration
- Time measurement (CPU time, wall time)
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler API
- Command line tool to control profiling
- FAQ: How to profile in my scenario?
Connect to profiled application
Once you have profiled application running, you should connect to it to obtain and analyze profiling results.
All detected JVMs are shown in the "Monitor Applications" list on Welcome screen. Connect to the application you want to profile by clicking on its name.
The colored circle indicates the profiler agent status in the Java process. Green circle means the agent has been loaded, and connection will happen immediately. Orange circle means the agent has not been loaded yet, and the profiler will automatically attach the agent before connection.
If you launch the profiled application from an IDE, the profiler UI will automatically start and connect to the application, unless you turned this option off in the IDE plugin.
Local applications are shown under the node with icon. Applications running on the remote machines are shown under their own nodes with icon. To add a new remote machine click . See remote profiling from user interface to learn more.
Profiler hides development tools, such as IDEs, in the list by default. This can be configured by clicking on the filter icon.
After a connect to profiled application you will be able to control profiling and review an application telemetry.
|Capture performance snapshot - save the profiling results to a file, for comprehensive analysis|
|Control CPU profiling|
|Control thread telemetry|
|Capture memory snapshot|
|Control object allocation recording|
|Advance object generation|
|Force garbage collection in the profiled application|
|Triggers - configure actions automatically performed on events|
|Control monitor profiling|
|Control exception profiling|
|Clear all telemetry charts|
"Pause" - stop/start receiving data from profiled application;
"Refresh" - immediately receive profiling data from the profiled application and update the views
You can close the profiling session tab by using File | Close Profiling Session.
You can connect to and disconnect from the profiled application as many times as you wish during its run time.