High CPU? GC spikes? Slow startup?
Logs and metrics can show symptoms — but not always what the JVM is actually doing.
Java Flight Recorder (JFR) gives you a precise, low-overhead view of JVM behavior — safe even in production.
In this video, you’ll learn how to use JFR to identify real bottlenecks: CPU hotspots, memory allocation pressure, thread contention, and I/O stalls.
We walk through the full workflow: starting recordings with JVM flags, controlling them via jcmd, running JFR inside Docker containers, and attaching to live systems using ephemeral containers.
Then we analyze a real Spring Boot recording in JDK Mission Control — breaking down GC behavior, allocation patterns, thread states, and method-level hotspots.
If you want to move from symptoms to root cause with more confidence — this is the approach.
Full article with commands and examples:
https://bell-sw.com/blog/how-to-profi...
00:00 — Java Flight Recorder Tutorial
00:23 — What is JFR?
01:25 — JFR Features Beginners Should Know
03:13 — Ho w to Use JFR Locally
04:48 — How to Use JFR in Containers With Dockerfile
05:39 — How to Use JFR in Containers With Buildpacks
08:08 — How to Analyze a Recording in Mission Control