YourKit Java Profiler Help
- 1 System requirements
- 2 Profiler architecture
- 3 Running the profiler
- 4 Profiler activation
- 5 Running applications with the profiler
- 5.1 Local profiling
- 5.2 Remote profiling
- 5.2.1 Remote profiling from user interface
- 5.2.2 Console Java EE server integration wizard
- 5.2.3 Console attach wizard
- 5.3 Startup options
- 5.4 Attaching profiler agent to a running JVM
- 5.5 Profiling overhead: how to reduce or avoid
- 5.6 Enabling profiling manually
- 5.7 About JVMTI
- 6 Connect to profiled application
- 7 Troubleshoot connection problems
- 8 Solving performance problems
- 8.1 Performance bottlenecks
- 8.2 Optimizing memory usage
- 8.3 Memory leaks
- 8.3.1 GC roots
- 8.4 Excessive garbage allocation
- 8.5 Out of memory error (OutOfMemoryError and -XX:+HeapDumpOnOutOfMemoryError)
- 9 CPU profiling
- 9.1 CPU usage estimation
- 9.2 Sampling
- 9.3 Asynchronous sampling
- 9.4 Tracing
- 9.5 Call counting
- 9.6 CPU tab
- 9.6.1 CPU usage telemetry
- 9.6.2 Call tree - All threads merged
- 9.6.3 Call tree - By thread
- 9.6.4 Flame graph
- 9.6.5 Hot spots
- 9.6.6 Method list
- 9.6.7 Java EE profiling results
- 9.6.8 Callee list view
- 9.6.9 Method merged callees view
- 9.6.10 Method back traces view
- 9.7 What-if: an ability to ignore particular methods or focus on particular methods only
- 9.8 Comparing performance snapshots
- 9.9 Sampling settings
- 9.10 Tracing settings
- 10 Threads
- 11 Deadlock detector
- 12 Memory profiling
- 12.1 Memory telemetry
- 12.2 Memory snapshot
- 12.3 Object allocation recording
- 12.4 Shallow and retained sizes
- 12.5 Memory views
- 12.5.1 Objects view
- 12.5.1.1 Class list
- 12.5.1.2 Class and package
- 12.5.1.3 Class loaders
- 12.5.1.4 Web applications
- 12.5.1.5 Object generations
- 12.5.1.6 Reachability scopes
- 12.5.1.7 Shallow size
- 12.5.1.8 Object explorer
- 12.5.1.9 Biggest objects (dominators)
- 12.5.1.10 Allocations
- 12.5.1.11 Object ages
- 12.5.1.12 Merged paths
- 12.5.1.13 Class hierarchy
- 12.5.2 Method merged callees view
- 12.5.3 Method back traces view
- 12.5.4 Quick info view
- 12.5.5 GC roots view
- 12.5.6 Leak detection: working with paths
- 12.6 Memory inspections
- 12.7 Comparing memory snapshots
- 12.8 Support of HPROF format snapshots
- 12.9 Support of Java Flight Recorder (JFR)
- 12.10 Support of Portable Heap Dumps (.phd)
- 12.11 Values of primitive types
- 12.12 Persistent object IDs
- 12.13 Useful actions
- 12.14 Set description language
- 13 Garbage collection
- 14 Monitor profiling
- 15 Exception profiling
- 16 Probes: monitor events of various kinds
- 16.1 Events in user interface
- 16.1.1 Event Table
- 16.1.1.1 Profiler events in table 'Messages'
- 16.1.2 Event Timeline
- 16.1.3 Event Call Tree
- 16.1.4 Event stack traces
- 16.1.5 Navigation between views
- 16.1.6 Events in range
- 16.2 Event inspections
- 16.3 Built-in probes
- 16.3.1 com.yourkit.probes.builtin.Threads
- 16.3.2 Class loading probe
- 16.3.3 com.yourkit.probes.builtin.AwtEvents
- 16.4 Probe classes
- 16.4.1 Compiling probe classes
- 16.4.2 Probe registration, activity modes
- 16.4.3 Probe unregistration
- 16.5 Monitoring method invocation events
- 16.5.1 Probe class annotation @MethodPattern
- 16.5.2 Callback onEnter()
- 16.5.3 Callback onReturn()
- 16.5.4 Callbacks onUncaughtException() and onUncaughtExceptionExt()
- 16.5.5 Parameter annotation @Param
- 16.5.6 Parameter annotation @Params
- 16.5.7 Parameter annotation @This
- 16.5.8 Parameter annotation @ClassRef
- 16.5.9 Parameter annotation @MethodName
- 16.5.10 Parameter annotation @MethodParameterTypes
- 16.5.11 Parameter annotation @MethodSignature
- 16.5.12 Parameter annotation @OnEnterResult
- 16.5.13 Parameter annotation @ReturnValue
- 16.5.14 Parameter annotation @ThrownException
- 16.5.15 Probe application rules
- 16.6 Data storage
- 16.6.1 Tables, rows, columns
- 16.6.2 Lasting events and point events
- 16.6.3 Table API
- 16.6.4 Scalability
- 17 Performance Charts
- 18 Inspections: automatic recognition of typical problems
- 19 Automatically trigger actions on event
- 20 Summary, snapshot annotation, automatic deobfuscation
- 21 IDE integration
- 21.1 Eclipse
- 21.2 Completing Eclipse plugin installation
- 21.2.1 Completing Eclipse 3.4 - 2021-12 plugin installation
- 21.2.2 Completing MyEclipse 2014 or newer plugin installation
- 21.3 IntelliJ IDEA
- 21.4 NetBeans
- 21.5 JDeveloper
- 22 Time measurement (CPU time, wall time)
- 23 Filters
- 24 Snapshot directory customization
- 25 Export of profiling results to HTML, CSV, XML, plain text
- 26 Profiler Java API
- 27 Profiler HTTP API
- 28 Command line tool to control profiling
- 29 Settings
- 29.1 Proxy
- 30 FAQ: How to profile in my scenario?