Observability Overview
How traces, errors, and logs work together across our stack.
Observability gives engineering visibility into production behavior — what broke, why it broke, and who was affected. We use three complementary tools, each with a distinct role.
The three pillars
| Tool | What it captures | When you use it |
|---|---|---|
| OpenTelemetry | Traces, metrics, logs (raw signals) | Instrument code, propagate context across services |
| Sentry | Errors, crashes, performance issues | Debug exceptions, track release health |
| Axiom | Structured logs and events | Search logs, build dashboards, investigate incidents |
How they work together
- OpenTelemetry instruments your code and exports standardized telemetry (traces, metrics, logs).
- Sentry receives error events and performance spans — surfaces stack traces, breadcrumbs, and release regressions.
- Axiom ingests structured logs for search, alerting, and long-term retention.
Environment configuration
| Variable | Alpha | Beta | Prod |
|---|---|---|---|
SENTRY_DSN | Dev project DSN | Staging DSN | Production DSN |
OTEL_EXPORTER_OTLP_ENDPOINT | Local collector or disabled | Staging collector | Prod collector |
AXIOM_TOKEN | Dev dataset token | Beta dataset token | Prod dataset token |
AXIOM_DATASET | logs-alpha | logs-beta | logs-prod |
Never use production DSNs or tokens in local development.
Quick links
| Guide | Description |
|---|---|
| OpenTelemetry | Instrumentation setup for Node.js and Next.js |
| Sentry | Error tracking and release monitoring |
| Axiom | Log shipping and query patterns |