YourKit Java Profiler help
- 1 System requirements
- 2 Profiler architecture
- 3 Running the profiler
- 4 Profiler activation
- 5 Start profiling
- 5.1 IDE integration
- 5.1.1 Eclipse
- 5.1.1.1 Completing Eclipse 3.4 - 2021-12 plugin installation
- 5.1.1.2 Completing MyEclipse 2014 or newer plugin installation
- 5.1.2 IntelliJ IDEA
- 5.1.3 JDeveloper
- 5.1.4 NetBeans
- 5.2 Java server integration wizard
- 5.2.1 UI integration wizard
- 5.2.2 Console integration wizard
- 5.3 Attach profiler to a running application
- 5.3.1 Attaching from profiler UI
- 5.3.2 Console attach wizard
- 5.4 Remote profiling
- 5.4.1 Direct connect
- 5.4.2 SSH access
- 5.4.3 Connection broker
- 5.5 Docker
- 5.5.1 Profiling in Docker container with direct connection
- 5.5.2 Profiling in Docker container with YourKit Connection Broker
- 5.6 Enabling profiling manually
- 5.7 Startup options
- 5.8 Connect to profiled application
- 5.9 Profiling troubleshooting
- 5.10 Profiling overhead: how to reduce or avoid
- 6 Solving performance problems
- 6.1 Performance bottlenecks
- 6.2 Optimizing memory usage
- 6.3 Memory leaks
- 6.3.1 GC roots
- 6.4 Excessive garbage allocation
- 6.5 Out of memory error (OutOfMemoryError and -XX:+HeapDumpOnOutOfMemoryError)
- 7 CPU profiling
- 7.1 CPU usage estimation
- 7.2 Sampling
- 7.3 Asynchronous sampling
- 7.4 Tracing
- 7.5 Call counting
- 7.6 CPU tab
- 7.6.1 CPU usage telemetry
- 7.6.2 Call tree - All threads merged
- 7.6.3 Call tree - By thread
- 7.6.4 Flame graph
- 7.6.5 Hot spots
- 7.6.6 Method list
- 7.6.7 Java EE profiling results
- 7.6.8 Callee list view
- 7.6.9 Method merged callees view
- 7.6.10 Method back traces view
- 7.7 What-if: an ability to ignore particular methods or focus on particular methods only
- 7.8 Comparing performance snapshots
- 7.9 Sampling settings
- 7.10 Tracing settings
- 8 Threads
- 9 Deadlock detector
- 10 Memory profiling
- 10.1 Memory telemetry
- 10.2 Memory snapshot
- 10.3 Object allocation recording
- 10.4 Shallow and retained sizes
- 10.5 Memory views
- 10.5.1 Objects view
- 10.5.1.1 Class list
- 10.5.1.2 Class and package
- 10.5.1.3 Class loaders
- 10.5.1.4 Web applications
- 10.5.1.5 Object generations
- 10.5.1.6 Reachability scopes
- 10.5.1.7 Shallow size
- 10.5.1.8 Object explorer
- 10.5.1.9 Biggest objects (dominators)
- 10.5.1.10 Allocations
- 10.5.1.11 Object ages
- 10.5.1.12 Merged paths
- 10.5.1.13 Class hierarchy
- 10.5.2 Method merged callees view
- 10.5.3 Method back traces view
- 10.5.4 Quick info view
- 10.5.5 GC roots view
- 10.5.6 Leak detection: working with paths
- 10.6 Memory inspections
- 10.7 Comparing memory snapshots
- 10.8 Support of HPROF format snapshots
- 10.9 Support of Java Flight Recorder (JFR)
- 10.10 Support of Portable Heap Dumps (.phd)
- 10.11 Values of primitive types
- 10.12 Persistent object IDs
- 10.13 Useful actions
- 10.14 Set description language
- 11 Garbage collection
- 12 Monitor profiling
- 13 Exception profiling
- 14 Performance charts
- 15 Probes: monitor events of various kinds
- 15.1 Events in user interface
- 15.1.1 Event Table
- 15.1.1.1 Profiler events in table 'Messages'
- 15.1.2 Event Timeline
- 15.1.3 Event Call Tree
- 15.1.4 Event stack traces
- 15.1.5 Navigation between views
- 15.1.6 Events in range
- 15.2 Event inspections
- 15.3 Built-in probes
- 15.3.1 com.yourkit.probes.builtin.Threads
- 15.3.2 Class loading probe
- 15.3.3 com.yourkit.probes.builtin.AwtEvents
- 15.4 Probe classes
- 15.4.1 Compiling probe classes
- 15.4.2 Probe registration, activity modes
- 15.4.3 Probe unregistration
- 15.5 Monitoring method invocation events
- 15.5.1 Probe class annotation @MethodPattern
- 15.5.2 Callback onEnter()
- 15.5.3 Callback onReturn()
- 15.5.4 Callback onExit()
- 15.5.5 Callbacks onUncaughtException() and onUncaughtExceptionExt()
- 15.5.6 Parameter annotation @Param
- 15.5.7 Parameter annotation @Params
- 15.5.8 Parameter annotation @This
- 15.5.9 Parameter annotation @ClassRef
- 15.5.10 Parameter annotation @MethodName
- 15.5.11 Parameter annotation @MethodTimeMs
- 15.5.12 Parameter annotation @MethodTimeNs
- 15.5.13 Parameter annotation @MethodParameterTypes
- 15.5.14 Parameter annotation @MethodSignature
- 15.5.15 Parameter annotation @OnEnterResult
- 15.5.16 Parameter annotation @ReturnValue
- 15.5.17 Parameter annotation @ThrownException
- 15.5.18 Probe application rules
- 15.6 Data storage
- 15.6.1 Tables, rows, columns
- 15.6.2 Lasting events and point events
- 15.6.3 Table API
- 15.6.4 Scalability
- 16 Inspections: automatic recognition of typical problems
- 17 Automatically trigger actions on event
- 18 Summary, snapshot annotation, automatic deobfuscation
- 19 Time measurement (CPU time, wall time)
- 20 Filters
- 21 Snapshot directory customization
- 22 Export of profiling results to external formats
- 23 Profiler Java API
- 24 Profiler HTTP API
- 25 Command line tool to control profiling
- 26 Settings
- 26.1 Proxy
- 27 FAQ: How to profile in my scenario?