The overhead of using JRA proved so low that we started considering the notion of always having it enabled when the JVM is running. The project to implement such a recording engine was internally first known as continuous JRA. In the R28 version of JRockit, this has finally been productized and named JRockit Flight Recorder.
As near-zero overhead data is continuously stored about JVM behavior, the JRockit Flight Recorder allows us to go back in time and analyze the behavior of the application and the JVM even after something has gone wrong. This is a very powerful feature for JVM and application forensics—the recording being the "black box" that contains information on all events leading up to a problem. Naturally, the framework still works well as a profiling and instrumentation tool, which will likely remain the most common use case.
In this chapter, you will learn:
How JRockit Flight Recorder works
About the Flight Recorder event model
How to start a continuous...