JFR
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
JFR Preview.
At a glance
| Purpose | A Java Flight Recorder recording (.jfr): chunks of metadata, constant pools and events. |
| Extensions | .jfr |
| Poka parser | poka-jfr |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-jfr/src/main.rs (276 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has app.jfr, read by no test. Covers .jfr. The tree walks the chunk headers and shows the JFR version, chunk count, total duration, recording start and size, with one node per chunk. Judgement: B4: the recording's chunk structure is summarised, but no event is decoded.
What Poka does not read
- Events are not decoded: no CPU samples, allocations, GC or I/O
- The metadata (event types) and constant pools are not read
- Chunk flags are not interpreted
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- jfrs (candidate; Apache-2.0; Rust; https://github.com/ocadaruma/jfrs) — JFR reader for Rust with chunk/event iteration; serde deserialisation is experimental and slow per README.
- JDK Mission Control core (org.openjdk.jmc.flightrecorder) (candidate; UPL-1.0; Java; https://github.com/openjdk/jmc) — JfrLoaderToolkit.loadEvents parses recordings; repo is UPL-1.0 or a BSD-style alternative; published on Maven Central.
- scrump-format-jfr (candidate; Apache-2.0; Rust; https://github.com/avifenesh/scrump) — Java Flight Recorder handler for scrump.; v0.1.8, updated 2026-05-20; matched on lib.rs, not tested
Sources
- parsers/poka-jfr/src/main.rs
- parsers/poka-jfr/plugin.json