Commands
The user-facing commands follow the lifecycle of benchmark history: set up storage, record
runs, analyze what changed, inspect the evidence, and maintain the stored data. Run
cargo bench-history <command> --help for the full, current flag list.
| Command | Purpose |
|---|---|
install | Write a starter .cargo/bench_history.toml. |
setup-azure | Provision shared Azure history storage, or export a standalone deployment bundle. |
collect | Run the workspace benches for the current commit and store the results. |
backfill | Reconstruct history by benching a range of past commits. |
analyze | Reconstruct series and report regressions and drift. |
examine | Pivot a single (benchmark, metric) series into its raw per-commit points. |
list | Preview the data set an analyze pass would consume, or catalog stored partitions. |
prune | Delete a chosen portion of the stored data set. |
bless / unbless | Accept (or un-accept) an intentional performance change on the base branch. |
machine-key | Print this machine’s hardware fingerprint. |
Shared option groups
Option names stay consistent across commands: storage and repository selection, output
formats, benchmark scope, Cargo features, discriminant sets, commit ranges, and data
filters mean the same thing wherever they appear. Some commands also take a bare subject:
runs|discriminants|blessings for list, benchmark prefixes for bless, commits for
prune, and range endpoints for backfill.
Shared selection options
analyze, list runs, prune, and examine share selection option meanings, but not every
default or admission policy is identical. Use list runs to preview the data set an
analyze pass would consume, examine to inspect one series from that selection, and
prune --dry-run to preview the exact deletion plan. The condensed Markdown summary is an
exception because the other commands select data but never detect findings.