YourKit Java Profiler Help
- 1 Running the profiler
- 2 Running applications with the profiler
- 2.1 Local profiling
- 2.2 Remote profiling
- 2.2.1 Remote profiling from user interface
- 2.2.2 Console Java EE server integration wizard
- 2.2.3 Console attach wizard
- 2.3 Startup options
- 2.4 Attaching profiler agent to a running JVM
- 2.5 Profiling overhead: how to reduce or avoid
- 2.6 Enabling profiling manually
- 2.7 About JVMTI
- 3 Connect to profiled application
- 4 Troubleshoot connection problems
- 5 Solving performance problems
- 5.1 Performance bottlenecks
- 5.2 Optimizing memory usage
- 5.3 Memory leaks
- 5.3.1 GC roots
- 5.4 Excessive garbage allocation
- 5.5 Out of memory error (OutOfMemoryError and -XX:+HeapDumpOnOutOfMemoryError)
- 6 CPU profiling
- 6.1 CPU usage estimation
- 6.2 Sampling
- 6.3 Asynchronous sampling
- 6.4 Tracing
- 6.5 Call counting
- 6.6 CPU tab
- 6.6.1 CPU usage telemetry
- 6.6.2 Call tree - All threads merged
- 6.6.3 Call tree - By thread
- 6.6.4 Flame graph
- 6.6.5 Hot spots
- 6.6.6 Method list
- 6.6.7 Java EE profiling results
- 6.6.8 Callees list view
- 6.6.9 Method merged callees view
- 6.6.10 Method back traces view
- 6.7 What-if: an ability to ignore particular methods or focus on particular methods only
- 6.8 Comparing performance snapshots
- 6.9 Sampling settings
- 6.10 Tracing settings
- 7 Threads
- 8 Deadlock detector
- 9 Memory profiling
- 9.1 Memory telemetry
- 9.2 Memory snapshot
- 9.3 Object allocation recording
- 9.4 Shallow and retained sizes
- 9.5 Memory views
- 9.5.1 Objects view
- 9.5.1.1 Class list
- 9.5.1.2 Class and package
- 9.5.1.3 Class loaders
- 9.5.1.4 Web applications
- 9.5.1.5 Object generations
- 9.5.1.6 Reachability scopes
- 9.5.1.7 Shallow size
- 9.5.1.8 Object explorer
- 9.5.1.9 Biggest objects (dominators)
- 9.5.1.10 Allocations
- 9.5.1.11 Object ages
- 9.5.1.12 Merged paths
- 9.5.1.13 Class hierarchy
- 9.5.2 Method merged callees view
- 9.5.3 Method back traces view
- 9.5.4 Quick info view
- 9.5.5 GC roots view
- 9.5.6 Leak detection: working with paths
- 9.6 Memory inspections
- 9.7 Comparing memory snapshots
- 9.8 Support of HPROF format snapshots
- 9.9 Values of primitive types
- 9.10 Persistent object IDs
- 9.11 Useful actions
- 9.12 Set description language
- 10 Garbage collection
- 11 Monitor profiling
- 12 Exception profiling
- 13 Probes: monitor events of various kinds
- 13.1 Events in user interface
- 13.1.1 Events by Table
- 13.1.1.1 Profiler events in table 'Messages'
- 13.1.2 Event Timeline
- 13.1.3 Event Call Tree
- 13.1.4 Event stack traces
- 13.1.5 Navigation between views
- 13.1.6 Events in range
- 13.2 Event inspections
- 13.3 Built-in probes
- 13.3.1 com.yourkit.probes.builtin.Threads
- 13.3.2 Class loading probe
- 13.3.3 com.yourkit.probes.builtin.AwtEvents
- 13.4 Probe classes
- 13.4.1 Compiling probe classes
- 13.4.2 Probe registration, activity modes
- 13.4.3 Probe unregistration
- 13.5 Monitoring method invocation events
- 13.5.1 Probe class annotation @MethodPattern
- 13.5.2 Callback onEnter()
- 13.5.3 Callback onReturn()
- 13.5.4 Callbacks onUncaughtException() and onUncaughtExceptionExt()
- 13.5.5 Parameter annotation @Param
- 13.5.6 Parameter annotation @Params
- 13.5.7 Parameter annotation @This
- 13.5.8 Parameter annotation @ClassRef
- 13.5.9 Parameter annotation @MethodName
- 13.5.10 Parameter annotation @MethodParameterTypes
- 13.5.11 Parameter annotation @MethodSignature
- 13.5.12 Parameter annotation @OnEnterResult
- 13.5.13 Parameter annotation @ReturnValue
- 13.5.14 Parameter annotation @ThrownException
- 13.5.15 Probe application rules
- 13.6 Data storage
- 13.6.1 Tables, rows, columns
- 13.6.2 Lasting events and point events
- 13.6.3 Table API
- 13.6.4 Scalability
- 14 Performance Charts
- 15 Inspections: automatic recognition of typical problems
- 16 Automatically trigger actions on event
- 17 Summary, snapshot annotation, automatic deobfuscation
- 18 IDE integration
- 18.1 Eclipse
- 18.2 Completing Eclipse plugin installation
- 18.2.1 Completing Eclipse 3.4 - 2020-12 plugin installation
- 18.2.2 Completing MyEclipse 2014 or newer plugin installation
- 18.2.3 Completing MyEclipse 8.5-2013 plugin installation
- 18.3 IntelliJ IDEA
- 18.4 NetBeans
- 18.5 JDeveloper
- 19 Time measurement (CPU time, wall time)
- 20 Filters
- 21 Snapshot directory customization
- 22 Export of profiling results to HTML, CSV, XML, plain text
- 23 Profiler API
- 24 Command line tool to control profiling
- 25 FAQ: How to profile in my scenario?