- System requirements
- Profiler architecture
- Running the profiler
- Profiler activation
- Running applications with the profiler
- Connect to profiled application
- Troubleshoot connection problems
- Solving performance problems
- CPU profiling
- CPU usage estimation
- Sampling
- Asynchronous sampling
- Tracing
- Call counting
- CPU tab
- What-if: an ability to ignore particular methods or focus on particular methods only
- Comparing performance snapshots
- Sampling settings
- Tracing settings
- Threads
- 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)
- Filters
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler Java API
- Profiler HTTP API
- Command line tool to control profiling
- Settings
- FAQ: How to profile in my scenario?
Comparing performance snapshots
You can compare two arbitrary snapshots that contain recorded CPU information, obtained with CPU sampling or CPU tracing.
To compare snapshots, do the following:
- Open the snapshots you want to compare.
- Select one of them.
- Use File | Compare Snapshot with... (the action is also available from the popup menu) and select a snapshot to compare with.
A new tab with the comparison opens. It contains "Call tree" and "Method list" views displaying the differences in method execution times and invocation counts.
The invocation count columns are shown only if both compared snapshots contain CPU tracing results.
If at least one of the compared snapshots contains CPU sampling results, only time differences will be shown.
