YourKit Java Profiler help
- 1 System requirements
- 2 Profiler architecture
- 3 Profiler installation
- 4 Uninstall profiler
- 5 Running the profiler
- 6 Profiler activation
- 7 Welcome screen
- 8 Start profiling
- 8.1 IDE integration
- 8.1.1 Eclipse
- 8.1.2 IntelliJ IDEA
- 8.1.3 MyEclipse
- 8.1.4 NetBeans
- 8.2 Java server integration wizard
- 8.3 Attach profiler to a running application
- 8.4 Remote profiling
- 8.4.1 Direct connect
- 8.4.2 SSH access
- 8.4.3 Connection broker
- 8.5 Profiling in Docker container
- 8.5.1 Profiling in Docker container using port forwarding
- 8.5.2 Profiling in Docker container using YourKit Connection Broker
- 8.6 Profiling in Amazon EC2 instance
- 8.7 Enabling profiling manually
- 8.8 Startup options
- 8.9 Connect to profiled application
- 9 Profiling overhead
- 10 Snapshots
- 10.1 Snapshot directory
- 10.2 Snapshot annotation
- 10.3 Performance snapshot
- 10.4 Comparing performance snapshots
- 10.5 Memory snapshot
- 10.6 Comparing memory snapshots
- 10.7 HPROF (Heap Profiler) snapshots
- 10.8 IBM PHD (Portable Heap Dumps) snapshots
- 10.9 JFR (Java Flight Recorder) snapshots
- 11 Solving performance problems
- 11.1 Performance bottlenecks
- 11.2 Optimizing memory usage
- 11.3 Memory leaks
- 11.4 Excessive garbage allocation
- 11.5 Out of memory error (OutOfMemoryError and -XX:+HeapDumpOnOutOfMemoryError)
- 11.6 Solving 'java.lang.OutOfMemoryError: PermGen space' error
- 12 CPU profiling
- 12.1 CPU and wall times when profiling Java applications
- 12.2 CPU profiling modes
- 12.3 CPU usage estimation
- 12.4 CPU sampling
- 12.5 Asynchronous CPU sampling
- 12.6 CPU sampling settings
- 12.7 CPU tracing
- 12.8 CPU tracing settings
- 12.9 Call counting
- 12.10 CPU tab
- 12.10.1 Telemetry
- 12.10.2 Call tree - All threads merged
- 12.10.3 Call tree - By thread
- 12.10.4 Flame graph
- 12.10.5 Hot spots
- 12.10.6 Method list
- 12.10.7 Java EE profiling results
- 12.10.8 Callee list view
- 12.10.9 Method merged callees view
- 12.10.10 Method back traces view
- 12.11 What-if: an ability to ignore particular methods or focus on particular methods only
- 13 Thread profiling
- 14 Virtual threads support
- 15 Deadlock detector
- 16 Memory profiling
- 16.1 Understanding garbage collection
- 16.2 Shallow and retained sizes
- 16.3 JVM memory structure
- 16.4 Object allocation profiling
- 16.5 GC roots view
- 16.6 Memory tab
- 16.6.1 Telemetry
- 16.6.2 Classes
- 16.6.3 Object explorer
- 16.6.4 Dominators - Biggest objects
- 16.6.5 Memory inspections
- 16.6.6 Group objects by category
- 16.6.6.1 Class
- 16.6.6.2 Class and package
- 16.6.6.3 Class loader
- 16.6.6.4 Web application
- 16.6.6.5 Generation
- 16.6.6.6 Reachability
- 16.6.6.7 Shallow size
- 16.6.7 Allocations
- 16.6.7.1 Call tree - All threads merged
- 16.6.7.2 Call tree - By thread
- 16.6.7.3 Flame graph
- 16.6.7.4 Hot spots by object count
- 16.6.7.5 Hot spots by object size
- 16.6.7.6 Method list
- 16.6.7.7 Object ages
- 16.6.8 Method merged callees view
- 16.6.9 Method back traces view
- 16.6.10 Quick info view
- 16.6.11 Leak detection: working with paths
- 16.6.12 Merged paths
- 16.6.13 Class hierarchy
- 16.7 Persistent object IDs
- 16.8 Useful actions
- 16.9 Set description language
- 17 Garbage collection
- 18 Monitor profiling
- 19 Exception profiling
- 20 Telemetry
- 21 Probes: monitor events of various kinds
- 21.1 Events in user interface
- 21.1.1 Event Table
- 21.1.1.1 Profiler events in table 'Messages'
- 21.1.2 Event Timeline
- 21.1.3 Event Call Tree
- 21.1.4 Event stack traces
- 21.1.5 Navigation between views
- 21.1.6 Events in range
- 21.2 Event inspections
- 21.3 Built-in probes
- 21.3.1 com.yourkit.probes.builtin.Threads
- 21.3.2 Class loading probe
- 21.3.3 com.yourkit.probes.builtin.AwtEvents
- 21.4 Probe classes
- 21.4.1 Compiling probe classes
- 21.4.2 Probe registration, activity modes
- 21.4.3 Probe unregistration
- 21.5 Monitoring method invocation events
- 21.5.1 Probe class annotation @MethodPattern
- 21.5.2 Callback onEnter()
- 21.5.3 Callback onReturn()
- 21.5.4 Callback onExit()
- 21.5.5 Callbacks onUncaughtException() and onUncaughtExceptionExt()
- 21.5.6 Parameter annotation @Param
- 21.5.7 Parameter annotation @Params
- 21.5.8 Parameter annotation @This
- 21.5.9 Parameter annotation @ClassRef
- 21.5.10 Parameter annotation @MethodName
- 21.5.11 Parameter annotation @MethodTimeMs
- 21.5.12 Parameter annotation @MethodTimeNs
- 21.5.13 Parameter annotation @MethodParameterTypes
- 21.5.14 Parameter annotation @MethodSignature
- 21.5.15 Parameter annotation @OnEnterResult
- 21.5.16 Parameter annotation @ReturnValue
- 21.5.17 Parameter annotation @ThrownException
- 21.5.18 Probe application rules
- 21.6 Data storage
- 21.6.1 Tables, rows, columns
- 21.6.2 Lasting events and point events
- 21.6.3 Table API
- 21.6.4 Scalability
- 22 Inspections: automatic recognition of typical problems
- 23 Automatically trigger actions on event
- 24 Automatic deobfuscation
- 25 Summary
- 26 Filters
- 27 Profiler command line
- 28 Export of profiling results to external formats
- 29 Profiler Java API
- 30 Profiler HTTP API
- 31 Settings
- 31.1 Proxy
- 32 Troubleshooting and FAQ