Local grouping laboratory

Know which alerts move
before the rule does.

Run proposed fingerprints against scrubbed incident samples. See every split, merge, and representative frame without waiting for production traffic.

Run the sample
  • Runs offline
  • No telemetry
  • Vendor-aware JSON
Illustrated cream laboratory console routing redacted stack traces into separate result channels
Bench 01 · rule changes remain disconnected from production

Live instrument / browser-local

Grouping test bench

Paste a redacted fixture or load a local file. Nothing is uploaded, saved, or logged.

READY FP–01 / LOCAL PROCESSOR
Array or { "events": [] }3 sample events

+ joins parts · ?? adds a fallback

Supported rule parts

message, exception.type, error.value, frames.in_app, frames.all

Ctrl/ + Enter

03 / Comparative readout

Proposed groups

Ready for a bench test. Evaluate the loaded sample to expose splits and merges.

Scrub first. Reports exclude line numbers, source context, arguments, and request data—but messages and filenames may still contain sensitive values.

Calibrated workflow

Change rules with evidence

  1. 1

    Scrub a fixture

    Export a representative event set, remove customer data, and retain existing group IDs.

  2. 2

    Dial the fingerprint

    Compose stable exception and frame fields with an explicit fallback.

  3. 3

    Inspect the delta

    Review each baseline split and cross-group merge before committing the rule.

The production artifact

Put the preview in review.

The same evaluator is a typed Rust library and a single CLI binary. Commit scrubbed fixtures, export versioned JSON, and make a grouping report part of every rule change.

  • Helpful exit codes for CI
  • Human and --json output
  • Generic, Sentry, Bugsnag, and Rollbar adapters
Read the source and full DSL reference
fingerprint-preview — local
$ cargo install --git \
    https://github.com/B-Divyesh/sf-incident-fingerprint-preview

$ fingerprint-preview preview \
    --events events.json \
    --rules grouping.fp

FINGERPRINT PREVIEW
Groups  2 baseline → 2 proposed (+0)
Delta   1 split / 1 merged / 0 stable

[split] fp-a859…  1 event
[merge] fp-9b20…  2 events