- 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
- Asynchronous sampling
- Call counting
- CPU tab
- CPU usage telemetry
- Call tree - All threads merged
- Call tree - By thread
- Flame graph
- Hot spots
- Method list
- Java EE profiling results
- Callee list view
- Method merged callees view
- Method back traces view
- What-if: an ability to ignore particular methods or focus on particular methods only
- Comparing performance snapshots
- Sampling settings
- Tracing settings
- 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?
Java EE profiling results
You can profile applications in high-level terms like SQL statements and URLs. For each Java EE call CPU time and invocation count are reported. These results are available in a captured snapshot and not available in "live" mode, when profiler is connected to the profiled application.
High-level results depends on corresponding built-in probes whose activity mode is Auto by default, which means they are active only while CPU profiling is running, in either CPU sampling or CPU tracing mode. If neither CPU tracing nor CPU sampling was running, Java EE profiling results are not available.
Note, that high-level profiling requires bytecode instrumentation and adds some overhead to the running application. For detailed information, see Profiling overhead: how to reduce or avoid.
Database section shows requests and their invocation method back traces. You can see the requests as a plain list, or you can group them by type.
Supported database types:
- Java persistence (JPA): Hibernate, EclipseLink, OpenJPA, DataNucleus
- JDBC (SQL)
JSPs and servlets
Shows list a of URLs that correspond to JSP and Servlet calls, and merged callees for all methods invoked with these URLs.
Shows list of URLs that correspond to JNDI calls, and back traces for all methods invoked with these URLs.
Lines can be copied by using File | Copy (Ctrl+C):