- System requirements
- Profiler architecture
- Running the profiler
- Profiler activation
- Start profiling
- Connect to profiled application
- Capturing snapshots
- Solving performance problems
- Performance bottlenecks
- Optimizing memory usage
- Memory leaks
- Excessive garbage allocation
- CPU profiling
- Threads
- Memory profiling
- Garbage collection
- Exception profiling
- Probes: monitor higher level events
- Performance Charts
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Summary, snapshot annotation, automatic deobfuscation
- Time measurement (CPU time, wall time)
- Filters
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler API
- Profiler HTTP API
- Command line tool to control profiling
- Settings
Performance bottlenecks
How to find a performance bottleneck using CPU profiling?
Let us assume there is a task in your application that you want to profile. Please do the following:
- Run the application with the profiler
- Connect to the application
- Start CPU profiling right before the task is started
- Wait until the task finishes or performs long enough
- Capture performance snapshot
- Open the snapshot and use CPU tab