Content deleted Content added
Fixed typo Tags: Mobile edit Mobile web edit |
Link suggestions feature: 3 links added. |
||
(19 intermediate revisions by 12 users not shown) | |||
Line 1:
{{short description|Production time profiling and diagnostics for OpenJDK}}
'''JDK Flight Recorder''' is an event recorder built into the OpenJDK <ref>{{cite web |title=OpenJDK |url=https://openjdk.org/| accessdate=28 June 2023}}</ref> [[Java virtual machine]]. It can be thought of as the software equivalent of a Data Flight Recorder (Black Box) in a commercial aircraft. It captures information about the [[Java virtual machine|JVM]] itself, and the application running in the JVM. There is a wide variety of data captured, for example method profiling, allocation profiling and garbage collection related events. The '''JDK Flight Recorder''' was designed to minimize the [[Observer effect (information technology)|Observer Effect]] in the profiled system, and is meant to be always on in production systems. The technology was open sourced in 2018.
Analysis and visualization of flight recordings are normally done using [[JDK Mission Control]].
Line 11:
* Binary representations, no translations back and forth to strings, the buffers are efficiently emitted to disk
* Most events are recorded into thread local native buffers
* On some platforms invariant [[Time Stamp Counter|TSC]] is employed for efficient time stamping
* Integer compression scheme, to keep in-memory and on-file size down
* Since implemented in the JVM, much data is readily available, or emitted at a time when the data is readily available, keeping cost down
If converting a binary recording to
The expected performance overhead of JFR using the default template is less than a percent, and for the profiling template, less than two percent.
==History==
JDK Flight Recorder started out as JRockit Flight Recorder, and was originally used as a means to collect data to be used to improve the JVM itself.<ref>{{cite web |title=JRockit Flight Recorder Runtime Guide |url=https://docs.oracle.com/cd/E15289_01/JRMCF/E15070-10.pdf |accessdate=22 January 2019}}</ref><ref>{{cite book |title=Oracle JRockit: the Definitive Guide |year=2010 |publisher=Packt Pub |isbn=
==Versions==
Line 35:
| v2.0 || Oracle JDK 11+, Open JDK 11+, Azul JDK 8 and Azul JDK 11+
|}
==Development==
The development of JDK Flight Recorder is taking place as part of the OpenJDK JDK <ref>{{cite web |title=OpenJDK JDK Project |url=https://openjdk.org/projects/jdk/| accessdate=28 June 2023}}</ref> project on GitHub,<ref>{{cite web |title=GitHub OpenJDK JDK |website=[[GitHub]] |url=https://github.com/openjdk/jdk| accessdate=28 June 2023}}</ref> although most of the public discussions are taking place on the OpenJDK hotspot-jfr-dev <ref>{{cite web |title=hotspot-jfr-dev mailing list |url=https://mail.openjdk.org/pipermail/hotspot-jfr-dev/| accessdate=28 June 2023}}</ref> [[mailing list]].
==See also==
Line 48 ⟶ 51:
{{Reflist}}
[[Category:Free computer programming tools]]
▲[[Category:Free software]]
|