Compare Two Executions

See span-by-span exactly what changed between two requests.

Scenario: the same endpoint started behaving differently after a deploy. You want to pinpoint what changed.

Diff two request traces

$ flux trace diff 4f9a3b2c 550e8400

  SPAN              REQUEST A         REQUEST B
  ──────────────────────────────────────────────────────
  gateway           2ms               2ms               —
  create_order      81ms              44ms              faster
  ├─ db.insert      4ms               4ms               —
  ├─ stripe.charge  68ms              → timeout (10s)   ✗ changed
  └─ send_slack     7ms               — skipped         ✗ missing

The diff shows every span and whether it changed in duration, result, or presence. ✗ changed marks spans where the outcome differed; ✗ missing marks spans that ran in one request but not the other.

Compare requests from different commits

After running flux bug bisect to find the first bad commit, you can diff the same request across commits:

$ flux trace diff abc123:550e8400 def456:550e8400

  SPAN              COMMIT abc123    COMMIT def456
  ──────────────────────────────────────────────────────
  stripe.charge     68ms ✔           → timeout  ✗

This confirms the commit def456 changed stripe.charge behaviour — the span went from passing to timing out.

Compare across environments

# Dev vs production for the same endpoint
$ flux trace diff dev:4f9a3b2c prod:550e8400

Export a diff

$ flux trace diff 4f9a3b2c 550e8400 --format json > diff.json

← Inspect Database Mutations  ·  Find the Commit That Broke It →