- System requirements
- Profiler architecture
- Profiler installation
- Uninstall profiler
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead
- Snapshots
- Solving performance problems
- CPU profiling
- Thread profiling
- Virtual threads support
- Object allocation profiling
- Memory profiling
- Monitor profiling
- Exception profiling
- Telemetry
- Probes: monitor events of various kinds
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatically capture snapshot on high memory usage
- Capture snapshots periodically
- Automatic deobfuscation
- Summary
- Filters
- Profiler command line
- Export of profiling results to external formats
- Profiler Java API
- Profiler HTTP API
- Settings
- Troubleshooting and FAQ
Capture snapshots periodically
Please also consider the ability to capture memory snapshots on high memory usage or on OutOfMemoryError.
You can instruct the profiler to capture a snapshot after a specified period of time.
When used memory constantly increases, this often means there is a memory leak. This feature greatly simplifies the detection of such situations in e.g. long-running applications such as servers. One of the benefits is that, after being triggered, the feature requires no further human interaction.
To toggle this feature, connect to the profiled application
and click toolbar button.
Use corresponding template menu to add the trigger and actions, then edit parameters if necessary:

Then, every time the specified period elapses, a memory snapshot will be created and the following notification will be shown in the UI:

How to trigger the snapshots from the start
Use startup option
periodic_perf
,
periodic_mem
,
periodic_hprof
.
How to capture snapshots periodically with the help of the profiler API
Export the template using corresponding popup menu item,
and pass it to API method
com.yourkit.api.controller.v2.Controller.setTriggers()