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.
- Runs offline
- No telemetry
- Vendor-aware JSON
Live instrument / browser-local
Grouping test bench
Paste a redacted fixture or load a local file. Nothing is uploaded, saved, or logged.
+ 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
Scrub a fixture
Export a representative event set, remove customer data, and retain existing group IDs.
- 2
Dial the fingerprint
Compose stable exception and frame fields with an explicit fallback.
- 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
--jsonoutput - Generic, Sentry, Bugsnag, and Rollbar adapters
$ 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