API observability and incident alerting
Know which endpoint broke, and who to wake up.
Latency, errors, uptime, and log anomalies for every route you ship — with on-call routing attached to the same signal that found the problem.
No card. Free forever for one service. Install is one middleware — npm i @tracepoint/node
p99 above 800ms for 3m on POST /v2/checkout/:cartId
Paged @northwind/payments — Priya, 8s after detection
- Median detect-to-page
- 8.4s
- Ingest availability, trailing 90d
- 99.98%
- Probe regions, all included
- 4
- Full-resolution retention
- 30d
what it watches
Four signals, and no fifth one to configure
Everything Tracepoint collects exists to answer one of two questions: is this endpoint slow, and is this endpoint broken. Anything that does not help answer those is not in the product.
Latency
p50 / p95 / p99Per-route percentiles, not a service-wide average. A p99 that doubles on one checkout endpoint is invisible in an aggregate and obvious here.
Every request is timed at the edge and bucketed by route pattern, so /orders/:id stays one series instead of fragmenting into a million cardinality bombs. Percentiles are computed over rolling one-minute windows and kept at full resolution for 24 hours, then rolled to five-minute buckets for the rest of retention.
Error rate
5xx + 4xxSplit by status class and by route, with the deploy SHA that was live when the rate moved.
5xx is the alerting default. 4xx is tracked separately because a spike in 401s is an auth regression and a spike in 404s is usually a broken client — treating them as one number hides both.
Availability
4 regionsSynthetic checks from four regions on a 30-second interval, with a two-region agreement rule before anything pages.
A single probe failing is a probe problem. Tracepoint requires two regions to agree before it opens an incident, which is the difference between an on-call rotation people trust and one they mute.
Log anomalies
baseline shiftVolume and pattern baselining per service, so a new stack trace appearing 400 times an hour raises itself.
Tracepoint fingerprints log lines into patterns and learns each pattern's normal hourly volume over 14 days. You get alerted on the shape changing — a novel pattern, or a known one moving several deviations — rather than on a keyword someone remembered to grep for.
the console
This is the screen you open at 2am
Not a marketing render — the real layout, on a sample workspace, mid-incident. The guided tour walks through what each panel is for.
services
5- checkout-api1,412ms
- catalog-api184ms
- identity96ms
- fulfilment308ms
- webhooks-out742ms
owner: @northwind/payments
checkout-api · latency
p99 1,412msp95 966msp50 176ms5xx rate · peak 3.34%
deploys in window
2- 9d3be71checkout-api · 14:10suspected cause
- a41f0c2catalog-api · 12:00
slowest routes
by p99| route | p99 | err |
|---|---|---|
| POST/v2/checkout/:cartId | 1,412ms | 3.10% |
| POST/v2/checkout/:cartId/pay | 884ms | 1.40% |
| GET/v2/cart/:cartId | 212ms | 0.02% |
| GET/v2/products/:sku | 141ms | 0.01% |
| POST/v2/sessions | 96ms | 0.11% |
open incidents
3- SEV2INC-2291 · 14:32unacked
p99 latency above 1s on POST /v2/checkout/:cartId
@northwind/payments · Priya on call
- SEV3INC-2290 · 14:33ack 14:35
5xx rate above 1% on POST /v2/checkout/:cartId
@northwind/payments · Priya on call
- SEV3INC-2287 · 14:36ack 14:38
Novel log pattern: PoolTimeoutError, 312/hr
@northwind/platform · Sam on call
attached logs · INC-2291
novel pattern- 14:32:04warnpool.acquire waited 2140ms (size=10, in_use=10)
- 14:32:06errorPoolTimeoutError: could not acquire connection in 3000ms
- 14:32:06infocheckout.cart_id=c_8812f retry=1 backoff=250ms
- 14:32:09errorPoolTimeoutError: could not acquire connection in 3000ms
- 14:32:11warnpool.acquire waited 2884ms (size=10, in_use=10)
PoolTimeoutError · 312/hr · first seen today
service map
observedinstead of
The two things teams do instead
Most teams find out an endpoint is failing from a customer, then spend the first ten minutes of an incident deciding which dashboard to open. Tracepoint watches every route you ship — p50/p95/p99 latency, error rate, availability, and unusual log volume — and pages the owning engineer with the specific endpoint, the deploy that changed it, and the last fifty matching log lines already attached.
Rolling your own
Prometheus, Grafana, Alertmanager, Loki, and a synthetic checker is four services to run, four upgrade paths, and a recording-rules file only one person on the team understands. It works. It also costs roughly a quarter of an engineer forever, and the alert routing is the part that always stays half-finished.
Tracepoint is one agent and one config file. Export to Prometheus and Grafana whenever you want the raw series back — the endpoint is documented, not a retention hostage.
Enterprise APM
Per-host pricing on a platform priced for a 500-engineer org, an eleven-week onboarding, and a bill that reprices itself the month you autoscale. Most of the surface is features a nine-person backend team will never open.
Usage-based on events ingested, with a hard cap you set. No per-seat charge, no per-host charge, and the price a scaling event produces is one you can compute in advance from the calculator on the pricing page.
built for
Teams with a rotation and no observability team
01
Backend teams of 5 to 40
Big enough to have a real on-call rotation, small enough that nobody's full-time job is the observability stack.
02
Platform teams supporting product squads
One ingest config per service, ownership routed from your existing service catalog, and per-team views that don't require an admin to create.
03
API-first companies
If your product is the endpoint, the p99 on it is the product's quality. Tracepoint is built around route patterns rather than around hosts.
pricing
Priced on events, not on engineers
Three tiers, one metered dimension, and a calculator that will tell you what a traffic spike costs before it happens.
Starter
$0
For a single service and a team that wants to see whether any of this is true before paying for it.
Team
most teams$90/mo
The plan almost everyone runs. Every signal, every region, full on-call routing, and a price that moves with traffic rather than with headcount.
Enterprise
Custom
For teams with a compliance surface: single-tenant deployment, audit trails, and a support agreement with a number in it.
questions
The ones engineers actually ask
Point it at one service and see if we are telling the truth
The free plan covers a single service forever, with latency percentiles, error rates, and alerting. If the first incident it catches is one you would have heard about from a customer, that is the whole pitch.