Start free
01PRODUCT 02PRICING 03MANIFESTO Start free

KESTREL // REAL-TIME OBSERVABILITY

See it before it breaks.

Kestrel ingests every span, log, and metric your stack emits and turns it into one living picture — fast enough to catch an incident while it is still a curiosity.

LIVE // YOUR SESSION · FPS · TTFB · DOM READY · LOOP LAG · MEASURED IN THIS TAB, RIGHT NOW

NO LOGO WALL // JUST THE SCOPE

Exactly what it does.
And what it doesn't.

Fourteen people build Kestrel. We'd rather be precise than impressive — so instead of borrowed logos, here is the honest edge of the product.

DOES

  • OTLP-native ingest — traces, logs, and metrics over gRPC or HTTP
  • Logs joined to their span at ingest, not at query time
  • Service map auto-discovered from span parentage
  • Multi-window burn-rate SLO alerts (5m + 1h must both breach)
  • 30-day hot retention on paid plans, 13 months on Stoop
  • Anomaly baselines per series: seasonality, deploys, traffic shape

DOESN'T — YET

  • No session replay or RUM — browser spans via OTel JS work fine
  • No synthetic checks — pair us with your favorite prober
  • No mobile SDKs of our own — OTel Swift/Android exports to us
  • No self-hosted UI — single-tenant ingest is the Stoop option
  • No AI that "finds root cause" — we show you the trace instead

Your whole stack, on one pane.

Drawn entirely in code — no screenshots, no video. Scroll: it replays the 2026-06-11 checkout-api incident from our own demo workspace, beat by beat, to the page that caught it.

Three instruments. One reflex.

TRACES

Follow one request through forty services.

Waterfalls that read like a story: every span, tagged and timed, from edge to database and back. Click any bar, see its logs inline.

ALERTS

Pages that deserve to wake you.

Burn-rate gates on real error budgets: a page fires only when the 5-minute and 1-hour windows both breach, grouped by the deploy or dependency that moved first. One page per cause — not one per symptom.

SLOs

Budgets, not vibes.

Define what good means once. Kestrel tracks the budget, forecasts the burn, and shows you exactly what you can afford to ship.

LIVE // YOUR SESSION

Numbers we can't fake.

This is not a mockup — these numbers are your session, measured right now by this page's own instrumentation. A monitoring product should be able to monitor the page you're reading. So it does.

time to first byte — this page, your network

DOM ready — parsed, scripted, interactive

full page load, fonts and canvas included

frames per second, rendering this page now

THIS PAGE, AS A KESTREL TRACE — measuring…
VIEWPORT CONNECTION EVENT-LOOP LAG JS ERRORS 0 SESSION 0:00

READ FROM THE PERFORMANCE API IN THIS TAB. RELOAD AND WATCH THEM CHANGE.

LAUNCH FILM // 00:10

./your_launch_film.mp4awaiting upload — 0 frames received

The launch film renders into this slot when it ships. Until then: no frames, no claims.

Live in an afternoon.

01 INSTRUMENT

One OpenTelemetry line.

No agents, no sidecars, no forked SDKs. If you already emit OTLP, this is the whole install:

export OTEL_EXPORTER_OTLP_ENDPOINT=https://in.kestrel.dev
02 STREAM

Spans land in under a second.

Straight into Kestrel's columnar store, indexed on arrival — service, route, status, and every tag you send.

03 SEE

The picture draws itself.

Dashboards, maps, and alerts assemble themselves from your topology. Zero config to first insight.

CHANGELOG // INCLUDING THE BAD WEEKS

Shipped. Dated. Public.

No borrowed quotes — we're too new for name-brand logos and we won't invent them. What we can show you is the work, incidents included.

  1. 2026-07-14FIX

    Trace waterfall mis-ordered sibling spans when host clocks skewed more than 250ms. Spans now sort by parent-relative offset, never wall time.

  2. 2026-07-09PERF

    Service-map layout moved off the main thread. A 4,000-node map now paints in ~120ms; it used to lock the tab for two seconds.

  3. 2026-07-02NEW

    OTLP/HTTP ingest accepts gzip. Text-heavy span batches shrink by roughly two thirds on the wire; nothing to configure.

  4. 2026-06-24FIX

    Editing an SLO mid-window could double-fire its burn alert. Alerts now re-anchor to the edited definition instead of straddling both.

  5. 2026-06-12INCIDENT

    Postmortem: 41 minutes of delayed ingest on 2026-06-11 — connection-pool exhaustion in checkout-api, caught by our own burn alert at 14:02. It's the incident the dashboard above replays.

  6. 2026-06-03NEW

    Log Fusion keeps raw stderr next to the structured fields, so the stack trace you grep for is the one that shipped.

Stop tailing logs. Start seeing.

Free for 1M spans a month. Five minutes to first trace.

Create your workspace