change some of its runtime properties through Managed Beans (MBeans). You can also
create rules that trigger on certain events (for example, send an e-mail if the CPU usage
by the application reaches 90 percent).
• Flight Recorder (JFR) is a tool for collecting diagnostic and profiling data about a running
Java application. It is integrated into the JVM and causes very small performance
overhead, so it can be used in production environments. JFR continuously saves large
amounts of data about the running applications. This profiling information includes thread
samples, lock profiles, and garbage collection details. JFR presents diagnostic
information in logically grouped tables and charts. It enables you to select the range of
time and level of detail necessary to focus on the problem. Data collected by JFR can be
essential when contacting Oracle support to help diagnose issues with your Java
application.
• Plug-ins help in heap dump analysis and DTrace recording. See Plug-in Details. Java SE
plug-ins connect to a JVM using the Java Management Extensions (JMX) agent. For
more information about JMX, see the Java Platform, Standard Edition Java Management
Extensions Guide .
Troubleshoot with JDK Mission Control
JMC provides the following features or functionalities that can help you in troubleshooting:
• Java Management console (JMX) connects to a running JVM, and collects and displays
key characteristics in real time.
• Triggers user-provided custom actions and rules for JVM.
• Experimental plug-ins from the JMC tool provide troubleshooting activities.
• Flight Recording in JMC is available to analyze events. The preconfigured tabs enable
you to easily to drill down in various areas of common interest, such as, code, memory
and garbage collection, threads, and I/O. The Automated Analysis Results page of
flight recordings helps you to diagnose issues quicker. The provided rules and heuristics
help you find functional and performance problems in your application and provide tuning
tips. Some rules that operate with relatively unknown concepts, like safe points, will
provide explanations and links to further information. Some rules are parametrized and
can be configured to make more sense in your particular environment. Individual rules
can be enabled or disabled as you see fit.
– Flight Recorder in the JMC application presents diagnostic information in logically
grouped tables, charts, and dials. It enables you to select the range of time and level
of detail necessary to focus on the problem.
• The JMC plug-ins connect to JVM using the Java Management Extensions (JMX) agent.
The JMX is a standard API for the management and monitoring of resources such as
applications, devices, services, and the Java Virtual Machine.
Flight Recorder
Flight Recorder (JFR) is a profiling and event collection framework built into the JDK.
Flight Recorder allows Java administrators and developers to gather detailed low-level
information about how a JVM and Java applications are behaving. You can use JMC to
visualize the data collected by JFR. Flight Recorder and JMC together create a complete
toolchain to continuously collect low-level and detailed runtime information enabling after-the-
fact incident analysis.
Chapter 2
Flight Recorder
2-3