Snapshots and diff
Every audit is saved. Revisit past runs, compare across time, and track how your fleet evolves.
Every rdst audit and rdst fleet audit run is persisted as a snapshot, whether
you used the default email flow or --verbose. Snapshots are the foundation of
historical comparison — diffing today's audit against last month's tells you whether
things are getting better or worse.
Single-target snapshots
Every rdst audit run gets a unique run ID (e.g. audit_prod-orders_20260421_120402).
# List past audits for any target
rdst audit list
# List for one target
rdst audit list --target prod-orders
# View a past audit
rdst audit show audit_prod-orders_20260421_120402
# Export the captured queries from a past run
rdst audit show audit_prod-orders_20260421_120402 --export-captured-queriesrdst audit show prints the same report the original run produced. It does not
re-run anything, so it's safe to invoke against very old snapshots.
Named baselines
For anything you plan to compare against later, give it a readable name with
--save <name>:
# March: save a baseline
rdst audit --target prod-orders --duration 5m --save march-baseline
# April: compare against it
rdst audit --target prod-orders --duration 5m --diff march-baselineThe diff output highlights:
| What changed | How it's shown |
|---|---|
| Database size | +18 GB (4% growth) |
| Connection pool state | new peak active_connections: 142 → 184 |
| Cache hit rate | 97.2% → 94.8% ⚠ |
| Top-query latency | per-query avg_time deltas, with winners and losers |
| New queries | queries that weren't in the baseline at all |
| Missing queries | queries that were in the baseline but dropped out |
| Readyset opportunity score | 78 → 84 (up 6) |
| LLM insight drift | "new bottleneck" / "resolved" annotations |
Fleet snapshots
rdst fleet audit produces a fleet snapshot — a single snapshot containing every
target's per-target snapshot plus the fleet-wide summary.
# List all saved fleet snapshots
rdst fleet snapshots
# Save a named fleet snapshot
rdst fleet audit --duration 5m --save baseline-2026-q2
# Diff two fleet snapshots
rdst fleet diff baseline-2026-q1 baseline-2026-q2Fleet diff output
Fleet Diff — baseline-2026-q1 → baseline-2026-q2
────────────────────────────────────────────────────────────────
Fleet changes:
+ 2 targets added (prod-newcluster-writer, prod-newcluster-reader-1)
- 1 target removed (legacy-mysql)
Net: 11 → 12 targets
Cross-instance patterns:
RESOLVED: customers(segment, created_at) index now deployed on 9/12 targets
(was 0/11 in baseline)
NEW: orders.total_cents growth 840% on prod-orders-writer (5GB → 47GB)
Readyset opportunity deltas:
prod-orders-writer 78 → 92 (up) ← cache even more helpful now
prod-inventory-writer 52 → 38 (down) ← workload shifted away from cacheables
Sizing verdict changes:
staging-orders oversized → right-sized (you downsized, nice)
Per-target diffs: (see `rdst audit show <run_id>` for each)Patterns that work well
Quarterly baselines: Save a named snapshot every quarter, keep a growing audit trail of how the fleet evolved.
rdst fleet audit --duration 5m --save baseline-$(date +%Y-q%q)Before-and-after changes: Save a baseline before a big database change, re-audit after, and diff.
rdst audit --target prod-orders --duration 5m --save before-index-migration
# ... deploy the migration ...
rdst audit --target prod-orders --duration 5m --diff before-index-migrationCI for sizing drift: Run a nightly fleet audit with --json and alert on
targets that flip from right-sized to under-provisioned overnight.
rdst fleet audit --duration 1m --json --no-insights > /tmp/fleet.json
# diff against yesterday's file, alert on any sizing-verdict regressions--no-insights makes a nightly fleet audit much cheaper (skips the LLM step)
while still producing metrics, sizing, and top-queries data — enough for
monitoring.
Where snapshots come from vs. rdst audit list
There's a small vocabulary distinction worth knowing:
| Single-target audit | Fleet audit | |
|---|---|---|
| What it is | One snapshot per target per run | One snapshot containing N per-target snapshots |
| Listed with | rdst audit list | rdst fleet snapshots |
| Shown with | rdst audit show <run_id> | rdst audit show <target_run_id> (for one target) |
| Diffed with | rdst audit --diff <baseline> (re-runs a fresh audit and compares) | rdst fleet diff snap1 snap2 (compares two existing snapshots) |
See also
rdst audit— where single-target snapshots come fromrdst fleet audit— where fleet snapshots come from