Installation
Requirements
-
JDK 17 or newer to run (the one Java-17-bytecode build is verified on 17 / 21 / 25). jvmlens reads JFR via
jdk.jfr.consumer.
Get the tools
jvmlens ships as a small set of jars — pick what you need:
| Jar | What it’s for |
|---|---|
|
the CLI ( |
|
the in-process |
|
the JMH profiler plugin (engine + profiler, no Spring/picocli) |
|
the dependency-free library (embed the summarizer) |
Option 1 — download a release jar (CLI / agent / JMH)
The CLI, agent, and JMH jars are GitHub release assets (they’re runnable artifacts, not
library dependencies). Grab them from the releases page,
or with the gh CLI:
gh release download v0.1.0 -R alexmond/jvmlens -p 'jvmlens.jar'
# pre-release rolling build (latest main): use `latest` instead of the tag
gh release download latest -R alexmond/jvmlens -p 'jvmlens.jar' -p 'jvmlens-agent.jar' -p 'jvmlens-jmh.jar'
Option 2 — depend on the engine (Maven Central)
To embed the summarizer in your own tool, depend on jvmlens-engine (dependency-free, only
jdk.jfr.consumer). The JMH profiler is published too, so a benchmark module can depend on it:
<dependency>
<groupId>org.alexmond</groupId>
<artifactId>jvmlens-engine</artifactId>
<version>0.1.0</version>
</dependency>
API docs: jvmlens-engine Javadoc (hosted on javadoc.io once the version is published).
Option 3 — build from source
git clone [email protected]:alexmond/jvmlens.git
cd jvmlens
./mvnw clean package
This is a Maven reactor; the jars land in per-module target/ dirs:
-
jvmlens-cli/target/jvmlens.jar -
jvmlens-agent/target/jvmlens-agent.jar -
jvmlens-jmh/target/jvmlens-jmh.jar
Run
java -jar jvmlens.jar analyze recording.jfr
See Usage for the full command reference.