- 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?
"Exceptions" tab shows exceptions which were thrown in the profiled application.
Exceptions may be grouped by their exception class or by thread in which they occurred. Selecting an exception in the upper table allows viewing the exception stack traces.
Checkbox "Show exceptions thrown and caught inside filtered methods" enables to filter out exceptions which have been thrown and caught in methods of library classes. By default, the checkbox is unselected, as such kind of exceptions are usually of no interest when profiling your application.
You can clear recorded exceptions with the help of corresponding toolbar button:
You can compare exception statistics of two snapshots with the help of File | Compare Snapshot with....
Start/stop exception profiling
Exception profiling helps discovering performance issues and logic errors. In most cases, there is no significant overhead of collecting this information.
However, it makes sense to disable it in production Java EE servers in order to ensure minimum profiling overhead.
Whether the exception profiling is enabled by default depends on the JVM and can be adjusted with the following startup options:
exceptions=onenables exception events in the JVM and immediately starts the exception profiling. This is the default mode on Oracle JDK/OpenJDK HotSpot (i.e. non-IBM JVMs).
exceptions=offenables exception events in the JVM but does not immediately starts the exception profiling that can instead be started later in runtime.
exceptions=disablefully disables exception events in the JVM to totally eliminate corresponding overhead. This is the default mode on IBM JVMs because the overhead is significant.
When you are connected to the profiled application, use corresponding toolbar button to start/stop the profiling.
The following actions are available in the popup menu:
- Lines can be copied by using File | Copy (Ctrl+C).
- File | Export to... (Ctrl+S) - exports view to different formats.
- Tools | Open in IDE (F7) - opens method declaration in IDE editor (see IDE integration).