YourKit Java Profiler help
- 1 System requirements
- 2 Profiler architecture
- 3 Profiler installation
- 4 Running the profiler
- 5 Profiler activation
- 6 Welcome screen
- 7 Start profiling
- 7.1 IDE integration
- 7.1.1 Eclipse
- 7.1.2 IntelliJ IDEA
- 7.1.3 JDeveloper
- 7.1.4 MyEclipse
- 7.1.5 NetBeans
- 7.2 Java server integration wizard
- 7.3 Attach profiler to a running application
- 7.4 Remote profiling
- 7.4.1 Direct connect
- 7.4.2 SSH access
- 7.4.3 Connection broker
- 7.5 Profiling in Docker container
- 7.5.1 Profiling in Docker container using port forwarding
- 7.5.2 Profiling in Docker container using YourKit Connection Broker
- 7.6 Profiling in Amazon EC2 instance
- 7.7 Enabling profiling manually
- 7.8 Startup options
- 7.9 Connect to profiled application
- 8 Profiling overhead: how to reduce or avoid
- 9 Snapshots
- 9.1 Snapshot directory customization
- 9.2 Snapshot annotation
- 9.3 Performance snapshot
- 9.4 Comparing performance snapshots
- 9.5 Memory snapshot
- 9.6 Comparing memory snapshots
- 9.7 Support of HPROF (Heap Profiler) snapshots
- 9.8 Support of IBM PHD (Portable Heap Dumps) snapshots
- 9.9 Support of JFR (Java Flight Recorder) snapshots
- 10 Solving performance problems
- 10.1 Performance bottlenecks
- 10.2 Optimizing memory usage
- 10.3 Memory leaks
- 10.4 Excessive garbage allocation
- 10.5 Out of memory error (OutOfMemoryError and -XX:+HeapDumpOnOutOfMemoryError)
- 10.6 Solving 'java.lang.OutOfMemoryError: PermGen space' error
- 11 CPU profiling
- 11.1 CPU and wall times when profiling Java applications
- 11.2 CPU profiling modes
- 11.3 CPU usage estimation
- 11.4 CPU sampling
- 11.5 Asynchronous CPU sampling
- 11.6 CPU sampling settings
- 11.7 CPU tracing
- 11.8 CPU tracing settings
- 11.9 Call counting
- 11.10 CPU tab
- 11.10.1 Performance charts
- 11.10.2 Call tree - All threads merged
- 11.10.3 Call tree - By thread
- 11.10.4 Flame graph
- 11.10.5 Hot spots
- 11.10.6 Method list
- 11.10.7 Java EE profiling results
- 11.10.8 Callee list view
- 11.10.9 Method merged callees view
- 11.10.10 Method back traces view
- 11.11 What-if: an ability to ignore particular methods or focus on particular methods only
- 12 Threads
- 13 Deadlock detector
- 14 Memory profiling
- 14.1 Understanding garbage collection
- 14.2 Shallow and retained sizes
- 14.3 JVM memory structure
- 14.4 Object allocation recording
- 14.5 GC roots view
- 14.6 Memory tab
- 14.6.1 Performance charts
- 14.6.2 Classes
- 14.6.3 Object explorer
- 14.6.4 Dominators - Biggest objects
- 14.6.5 Memory inspections
- 14.6.6 Group objects by category
- 14.6.6.1 Class
- 14.6.6.2 Class and package
- 14.6.6.3 Class loader
- 14.6.6.4 Web application
- 14.6.6.5 Generation
- 14.6.6.6 Reachability
- 14.6.6.7 Shallow size
- 14.6.7 Allocations
- 14.6.7.1 Call tree - All threads merged
- 14.6.7.2 Call tree - By thread
- 14.6.7.3 Flame graph
- 14.6.7.4 Hot spots by object count
- 14.6.7.5 Hot spots by object size
- 14.6.7.6 Method list
- 14.6.7.7 Object ages
- 14.6.8 Method merged callees view
- 14.6.9 Method back traces view
- 14.6.10 Quick info view
- 14.6.11 Leak detection: working with paths
- 14.6.12 Merged paths
- 14.6.13 Class hierarchy
- 14.7 Persistent object IDs
- 14.8 Useful actions
- 14.9 Set description language
- 15 Garbage collection
- 16 Monitor profiling
- 17 Exception profiling
- 18 Performance charts
- 19 Probes: monitor events of various kinds
- 19.1 Events in user interface
- 19.1.1 Event Table
- 19.1.1.1 Profiler events in table 'Messages'
- 19.1.2 Event Timeline
- 19.1.3 Event Call Tree
- 19.1.4 Event stack traces
- 19.1.5 Navigation between views
- 19.1.6 Events in range
- 19.2 Event inspections
- 19.3 Built-in probes
- 19.3.1 com.yourkit.probes.builtin.Threads
- 19.3.2 Class loading probe
- 19.3.3 com.yourkit.probes.builtin.AwtEvents
- 19.4 Probe classes
- 19.4.1 Compiling probe classes
- 19.4.2 Probe registration, activity modes
- 19.4.3 Probe unregistration
- 19.5 Monitoring method invocation events
- 19.5.1 Probe class annotation @MethodPattern
- 19.5.2 Callback onEnter()
- 19.5.3 Callback onReturn()
- 19.5.4 Callback onExit()
- 19.5.5 Callbacks onUncaughtException() and onUncaughtExceptionExt()
- 19.5.6 Parameter annotation @Param
- 19.5.7 Parameter annotation @Params
- 19.5.8 Parameter annotation @This
- 19.5.9 Parameter annotation @ClassRef
- 19.5.10 Parameter annotation @MethodName
- 19.5.11 Parameter annotation @MethodTimeMs
- 19.5.12 Parameter annotation @MethodTimeNs
- 19.5.13 Parameter annotation @MethodParameterTypes
- 19.5.14 Parameter annotation @MethodSignature
- 19.5.15 Parameter annotation @OnEnterResult
- 19.5.16 Parameter annotation @ReturnValue
- 19.5.17 Parameter annotation @ThrownException
- 19.5.18 Probe application rules
- 19.6 Data storage
- 19.6.1 Tables, rows, columns
- 19.6.2 Lasting events and point events
- 19.6.3 Table API
- 19.6.4 Scalability
- 20 Inspections: automatic recognition of typical problems
- 21 Automatically trigger actions on event
- 22 Automatic deobfuscation
- 23 Summary
- 24 Filters
- 25 Profiler command line
- 26 Command line tool to control profiling
- 27 Export of profiling results to external formats
- 28 Profiler Java API
- 29 Profiler HTTP API
- 30 Settings
- 30.1 Proxy
- 31 Troubleshooting and FAQ