Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion plugins/jfr-analyzer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ plugins/jfr-analyzer/eval/scripts/regen.sh
The script prompts before installing JBang, async-profiler, or `jq`, then records the corpus and
updates its manifest. After the MCP server is available, run `/jfr-analyzer eval regen` to extract
event types and optionally validate oracle results. Run `/jfr-analyzer eval run` for triage passes,
then `/jfr-analyzer eval score` to generate the report. Scoring runs `eval/scripts/Score.java` through JBang and may require the judge API
then `/jfr-analyzer eval score` to generate the report. Scoring runs the executable `eval/scripts/Score.java` (a JBang script; `jbang eval/scripts/Score.java` works too) and may require the judge API
key named in that file.

## Transport strategy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,9 @@ Parse `--scenario` and `--multi-judge` flags from $ARGUMENTS.

Run (JBang resolves the Jackson dependency on first use):
```bash
cd <EVAL_DIR>/scripts && jbang Score.java [--scenario <id> if set] [--multi-judge if set]
cd <EVAL_DIR>/scripts && ./Score.java [--scenario <id> if set] [--multi-judge if set]
```

If `./Score.java` is not executable, use `jbang Score.java` with the same flags.

Display the generated report content.
13 changes: 8 additions & 5 deletions plugins/perf-engineer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,21 @@ The first supervisor implementation manages one async-profiler recording. It val
enforces a maximum duration, persists state, and supports stop/status/cleanup:

```sh
jbang plugins/perf-engineer/scripts/PerfEngineerSession.java start <pid> \
plugins/perf-engineer/scripts/PerfEngineerSession.java start <pid> \
--event cpu --duration 30 --output /tmp/profile.jfr
jbang plugins/perf-engineer/scripts/PerfEngineerSession.java status <session-id>
jbang plugins/perf-engineer/scripts/PerfEngineerSession.java stop <session-id>
jbang plugins/perf-engineer/scripts/PerfEngineerSession.java cleanup <session-id>
plugins/perf-engineer/scripts/PerfEngineerSession.java status <session-id>
plugins/perf-engineer/scripts/PerfEngineerSession.java stop <session-id>
plugins/perf-engineer/scripts/PerfEngineerSession.java cleanup <session-id>
```

The scripts are executable JBang programs; if the executable bit is lost (for example on a Windows
checkout), run them as `jbang plugins/perf-engineer/scripts/PerfEngineerSession.java <args>` instead.

Set `ASYNC_PROFILER_HOME` or pass `--profiler` when the async-profiler CLI is not on `PATH`. This
supervises one recording only; BTrace probes and later analysis remain separate workflow phases.

Run the supervisor regression tests with:

```sh
jbang plugins/perf-engineer/scripts/PerfEngineerSessionTest.java
plugins/perf-engineer/scripts/PerfEngineerSessionTest.java
```
2 changes: 1 addition & 1 deletion plugins/perf-engineer/skills/perf-engineer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Before promising a phase, verify that the required capability is actually availa

This plugin currently provides the orchestration contract, not a bundled session-supervisor
executable. A bounded one-recording supervisor is available at
`scripts/PerfEngineerSession.java` (run with `jbang`); use it when async-profiler CLI access is available. It does not
`scripts/PerfEngineerSession.java` (executable; runs via JBang); use it when async-profiler CLI access is available. It does not
supervise BTrace or later analysis phases. If it is unavailable, use only a bounded recording with
the hard timeout enforced by the recording command itself. Do not offer “until I say stop,” durable
orphan recovery, or claim that a session is supervised. If a delegated plugin or host provides a
Expand Down
Loading