By xhao
Analyze JFR (Java Flight Recorder) text exports for GC, CPU, memory allocation, and thread-level bottlenecks
Analyze Java Flight Recorder (JFR) profiling data for any JVM application. Trigger when: user provides a .jfr file, a JFR text export (.txt), or a pre-parsed full_analysis.txt; or asks to "分析 JFR"、"查看 GC 停顿"、"内存分配分析"、"线程分析"、 "锁竞争"、"CPU 热点"、"analyze JFR", "check GC pauses", "memory allocation", "thread bottleneck", "lock contention", "CPU hotspots in JFR". Covers: GC pause statistics, CPU hotspot methods, object allocation, thread activity, lock contention, file/socket I/O latency. Supports lang=zh|en to skip language selection prompt.
Record a JFR profile from a live JVM process and optionally analyze the result.
Claude Code plugins for Java/JVM performance engineering — JFR analysis, flamegraph profiling, and benchmark reporting.
Personal Claude Code plugins for everyday tooling.
Plugins must be explicitly registered. Run the install script once to add this repo as a marketplace, then install individual plugins:
# 1. Register the marketplace
./install.sh
# 2. Install a plugin (inside Claude Code)
/plugin install jfr-analyzer@claude-spells
Requires jq (brew install jq).
Each plugin lives in its own subdirectory and follows the Claude Code plugin format:
<plugin-name>/
├── .claude-plugin/
│ └── plugin.json # Plugin metadata
├── commands/ # Slash commands
│ └── <command>.md
└── skills/ # Skills triggered by context
└── <skill-name>/
├── SKILL.md
├── scripts/
└── references/
Analyze Java Flight Recorder (JFR) text exports for performance bottlenecks. Also supports recording JFR profiles directly from live JVM processes.
Analyze an existing file:
/jfr [file-path] [src=/path/to/src] [lang=zh|en].jfr binary files (auto-converted) or plain-text exportsRecord from a live JVM process:
/jfr-record [pid=<pid>] [duration=60s] [output=/tmp/app] [analyze=true|false] [src=/path/to/src] [lang=zh|en]jcmd in PATH (JDK 11+)jcmd JFR.start → waits → converts .jfr → auto-analyzesduration=60s, analyze=true, lang=zhEnd-to-end example:
/jfr-record pid=12345 duration=120s src=~/projects/myapp lang=zh
Records 120s of profiling data from PID 12345, then produces a full Chinese-language analysis report.
See jfr-analyzer/ for details.
Analyze esrally benchmark reports and generate structured technical summaries.
.md, .tar.gz, or .gz rally result files, or ask to "分析压测结果" / "compare benchmark runs"lang=zh) and English (lang=en)See esrally-analyze/ for details.
Analyze async-profiler HTML flamegraph files for any JVM application.
.html flamegraph file, or ask to "分析火焰图" / "analyze flamegraph"focus=translog,gc or natural language like "重点关注 translog" to spotlight specific topicslang=zh) and English (lang=en)See flamegraph-analyzer/ for details.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub xhao/claude-spells --plugin jfr-analyzerAnalyze async-profiler HTML flamegraph files for CPU hotspots, layer breakdowns, and optimization recommendations
Analyze esrally benchmark reports and generate structured technical summaries. Supports single-run analysis, A/B comparison, and multi-run baseline statistics.
Continuous JVM monitoring + optimization + troubleshooting via the Argus CLI. Bootstraps the CLI on first use, runs the harness against a target PID, and summarises findings + JVM-flag recommendations.
Profile application performance with CPU, memory, and execution time analysis
Rigorous performance investigation workflow with baselines, profiling, and evidence-backed decisions
Memory leak detection and heap analysis
Debug Java applications in real time using JDB (Java Debugger CLI). Attach to running JVMs or launch new ones under JDB, set breakpoints, step through code, inspect variables, analyze threads, and diagnose exceptions.
Java JDWP debugger via MCP — set breakpoints, inspect runtime state, evaluate expressions, mutate variables, catch exceptions at throw site, trace execution with logpoints.