Under the hood, it uses Java Flight Recorder (JFR) to profile your application using a customized configuration. For additional context, JFR is a tool that collects profiling data of running Java applications, and it is integrated into the Java Virtual Machine (JVM). JFR comes with little to barely noticeable overhead cost which makes it great to run on heavily loaded production deployments.
Using the customized configuration, you can generate profiles in two ways:
Automated Profiling - Configure CPU and memory thresholds to automatically trigger a profile recording.
On-demand Profiling - Use “Profile Now” to run near real-time profile recording.