JmFrX is an open-source Java utility that bridges JMX (Java Management Extensions) and JDK Flight Recorder (JFR), allowing periodic capture of JMX MBean attribute values into JFR recording files. This enables offline analysis via JDK Mission Control, time-series tracking of JMX metrics without external tools, and live data streaming via the JFR event streaming API (Java 14+). The tool uses dynamic JFR event types (via EventFactory and ASM) and periodic JFR events to create per-MBean events at runtime. It supports customizable event profiles via an SPI for formatting attributes (e.g., bytes, timestamps, percentages). Requires OpenJDK 11+ (or 8u262+), integrates with Maven/JitPack, and works with frameworks like Quarkus. Practical use cases include capturing Kafka Streams thread metrics and other custom MBean data not natively covered by built-in JFR event types.

9m read timeFrom morling.dev
Post cover image

Sort: