Skip to content

feat: add JFR and performance engineering plugins - #5

Merged
jbachorik merged 3 commits into
mainfrom
agent/jfr-perf-plugins
Oct 2, 2026
Merged

jbachorik merged 3 commits into
mainfrom
agent/jfr-perf-plugins

Conversation

@jbachorik

@jbachorik jbachorik commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Adds two plugins to the marketplace for performance investigations that go beyond live BTrace probes:

  • jfr-analyzer: turns JFR, pprof, OTLP and HPROF recordings into a structured investigation using USE (Utilization, Saturation, Errors) and TSA (Thread State Analysis) reasoning before looking at individual hotspots. It includes:
    • the jfr-analyzer skill with triage, drilldown, report and eval subskills;
    • the async-profiler-interop and jfr-btrace-interop skills;
    • a perf-engineer agent;
    • a Jafar MCP server entry (jfr-mcp, SSE on localhost:3000);
    • an eval corpus of 16 Java scenario apps with scoring scripts.
  • perf-engineer: a session-driven performance engineering skill with evidence and gate references, plus a session script with unit tests.

It also registers both plugins in the Claude Code and Codex marketplaces and the Pi package, adds the design doc docs/perf-engineer-design.md, and links the BTrace observability skills to the new JFR interop workflow.

A second commit removes the allowed-tools lines these skills added. main's repository validator accepts only name and description in skill front matter, and the lines' unprefixed MCP tool names matched no tool in Claude Code anyway.

This is the base of a two-PR stack. The BTrace MCP fixes and e2e CI follow in a separate PR on top of this branch.

How verified

Gate Result
scripts/validate-marketplace.sh on this branch merged into origin/main (includes validate-repository.js) Repository consistency valid: 4 plugins, 22 skills, Marketplace validation passed.
node scripts/validate-evals.js Eval corpus valid: 7 cases
python3 -m unittest test_perf_engineer_session (plugins/perf-engineer/scripts) Ran 4 tests … OK
merge into origin/main clean

Coverage notes

The validators check manifests, skill front matter and the BTrace observability eval corpus. The unit tests cover the perf-engineer session script. Nothing here exercises the skills' analysis quality.

Not verified / known limitations

  • jfr-analyzer eval corpus not run. It needs async-profiler, a running Jafar MCP server and model calls, so it is meant to be run manually.
  • jfr-analyzer MCP server not exercised. The plugin expects an externally started Jafar server at http://localhost:3000/mcp/sse.

Breaking changes / migration

None.

Links

Stack: base PR; the BTrace MCP fixes PR depends on this one.

🤖 Generated with Claude Code

main's repository validator accepts only `name` and `description` in
skill front matter, and the allowed-tools lines added with the JFR and
perf-engineer plugins fail it. allowed-tools was Claude Code specific and
its unprefixed MCP tool names matched no tool, so dropping it loses no
working pre-approval.

Verified: main's scripts/validate-marketplace.sh (incl.
validate-repository.js) passes on this branch merged into origin/main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jbachorik
jbachorik marked this pull request as ready for review October 2, 2026 20:57
@jbachorik
jbachorik merged commit dd7bcf6 into main Oct 2, 2026
2 checks passed
@jbachorik
jbachorik deleted the agent/jfr-perf-plugins branch October 2, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant