See the crash.
Not just the Stack Trace.
Full-screen session recording, pinned to every stack trace. Four lines of setup. Zero frame drops on your app.
Free plan, no credit card · See pricing
Stack Trace
First seen: Apr 6, 2026, 10:17 AM · Last seen: Apr 10, 2026, 1:53 AM · Total occurrences: 23 · Platform: Flutter 3.27.1
Replay is part of the plan.
Session replay is not a separate SKU and there is no per-replay charge. Replays count toward the same monthly ingest allowance as your logs, traces and metrics, so there is one number to watch instead of five.
What you get
€0
Free planto start, no credit card.
- A monthly ingest allowance shared by every signal
- One replay = one crash clip, up to 10 seconds
- Email at 80% of the allowance, ingest paused at 100% — never a surprise invoice
Press play on the moment it broke.
Every exception in the TracePath dashboard carries its replay. Open the stack trace, press play, and watch the last seconds of your user's session leading up to the crash, synced to the timeline.
- Scrub through the full session timeline
- Replay ID linked from every stack trace
- Tap, route, network, and console overlays
- Share a single URL with your team

Paste four lines. Ship.
Recording starts on the first frame. Every exception carries the replay ID automatically. Sensitive widgets are masked by default. Wrap anything extra in TracePathMask.
// The Flutter SDK is in private beta and is not on pub.dev yet. Email [email protected] for access. Flutter apps can already export OpenTelemetry traces and metrics over OTLP today.
A video is the start. The context is the rest.
Every replay carries the surrounding signal, so you don't just watch what happened, you see why.
Taps & gestures
Every tap and gesture rendered onto the recording, frame-synced with the last 10 seconds before the crash.
Console logs
Every print and debugPrint from the last 10 seconds, captured via a Zone hook with no manual wiring. Capped at 200 lines.
HTTP requests
Method, URL, status, duration, and byte counts for every dart:io HTTP call. Catches package:http, Dio, Firebase, and anything on the platform client.
Navigation timeline
Every push, pop, and replace from any Navigator. Attach TracePath.navigatorObserver once and the route history rides with every crash.
Custom actions
Tag your own breadcrumbs like cart.add_item and auth.login_succeeded with TracePath.recordAction. Capped at 200 entries.
Full stack trace
Caught FlutterErrors and uncaught async exceptions, symbolicated and stitched to the same timeline as the replay.
No frame drops. No battery spike.
The SDK is built so recording sits off the frame budget: capture is bounded work on a background isolate, the pre-exception buffer is fixed-size, and writing to disk costs no extra RAM. We run a per-device benchmark harness before every beta build and share the raw results with beta customers on request.
What we guarantee
- Idle is free. With
screenCapture: falseor before the first recording, RSS overhead stays under 10 MB on every tested device, and is typically zero. - Active recording stays small. Median memory overhead during capture is under 20 MB; the worst measured case across all devices held below 80 MB even under bursty video + exception workloads.
- Exception capture beats a frame. Sub-millisecond on iOS, under 15 ms on Android. Both fit inside a single 60 Hz frame (16.7 ms), so capturing an exception cannot drop a frame in steady state.
- Disk persistence is free. Writing recordings to disk consumes the same RAM as in-memory only, with no extra cost for offline-safe shipping.
The fine print
- Results depend on device, workload and Flutter version. Ask us for the current run against hardware close to your user base rather than trusting a headline number.
- Frame-timing carries enough variance per scenario that we don’t claim improvements; we claim "no measurable regression on any tested workload".
- Worst-case memory peaks come from synthetic burst tests (5 exceptions per second during video playback). Apps that throw 1–2 exceptions per session sit at the median.
- Beta customers get the harness and the raw per-device numbers so they can re-run it on their own hardware tier.
Documented end to end, hosted in the EU.
What the SDK captures, what masking covers, how long a replay is kept and who can open it are all written down, and every replay is stored on EU infrastructure.
Ship it before your next release.
Start on the free plan, no card required. Replay counts toward your ingest allowance like every other signal, and we pause rather than bill you past it.