JDK Flight Recorder is a production time profiling and diagnostics engine built into the JVM. JDK Mission Control is, among other things, the client tool used to look at recordings produced by the JDK Flight Recorder.
JDK Flight Recorder is built into the JVM and allows you to:
- Resolve problems faster
- Find bottlenecks in your applications
- Find bottlenecks in ISV provided applications
- Unhappy with the performance? Send your ISV a (JFR) recording.
- Do post mortem analysis, even from crash dumps
A few key differentiators between JFR and other, on the surface, similar tools are:
- Extremely low overhead
- Built into the JVM/JDK by the people developing the JVM
- High performance flight recording engine and high performance data collection
(invariant TSC for time stamping, thread local native buffers, access to data already collected in the runtime, more accurate method profiling (method profiling data even from outside safe-points), faster and more accurate allocation profiling (scalarization not undone by profiler))
- Safe and reliable in production
- Tested on all platforms as part of the JVM/JDK-testing
- Low overhead means no measurable impact on the running application
- Low overhead + reliability = always on
- Time machine – just dump the recording data when a problem occurs, and see what the runtime was up to before, up to, and right after the problem occurred
- Even upon a JVM process crash, flight recording data from the last couple of minutes will be in the dump allowing you to resolve the issue
- Any interaction with Oracle support will be faster – just attach a flight recording to your support case
JDK Mission Control also contains other tools, such as a JMX Console, and HPROF-dump analyzer and more.
Oracle is using the JDK Flight Recorder internally to solve issues in production in the massive Oracle Fusion deployments.
"In Fusion we create hundreds of thousands of Flight Recordings, and we can figure out 95% of the issues using nothing but the recordings."
- Joe Albowicz, Oracle (Fusion Application Development)