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 0.3.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.3.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
Option 4 — install the Claude Code skills
To drive jvmlens from a coding agent, this repo is also a Claude Code plugin marketplace:
/plugin marketplace add alexmond/jvmlens
/plugin install jvmlens-perf@jvmlens # dev-time optimize→measure loop
/plugin install jvmlens-monitor@jvmlens # long-running monitor + trend
Each skill fetches the jvmlens jar itself (Options 1–3 above), so this is enough on its own. See jvmlens + your AI agent for sample usage.
Run
java -jar jvmlens.jar analyze recording.jfr
See Usage for the full command reference.