Observability Basic
“The checkout page sometimes spins forever” is the kind of bug report you cannot act on right away. A log line tells you there is an error but not how many.
A latency chart tells you something is slow but not which hop. A trace tells you which hop is slow but not what percentage of requests are affected.
This page is the starting point for choosing the right article. The full list is in the left-hand menu.
Pick an article by question
Section titled “Pick an article by question”| Question | Signal or technique | Article |
|---|---|---|
| Is there an incident, how big, where is it slow? | Metrics, traces, logs | Logs, metrics, traces |
| How do you join one request’s logs across services? | Correlation ID, traceparent |
Correlation ID |
| How good is good enough, when do you stop releasing? | SLI, SLO, burn rate | SLI, SLO, error budget |
| Prometheus eats RAM after a deploy? | Cardinality, scrape limits | Metric cardinality |
Suggested reading order
Section titled “Suggested reading order”- Logs, metrics, traces: what each signal answers, drilling down from an alert to logs, head and tail sampling.
- Correlation ID:
AsyncLocalStoragewithin a process, headers and Kafka headers across the network. - SLI, SLO, error budget: the measurement point decides which errors count; burn rate and two-window alerts.
- Metric cardinality: labels multiply, how to detect it, and guardrails.
Related
Section titled “Related”On Kubernetes, infrastructure health signals differ from application instrumentation; see Kubernetes probes. When you suspect latency comes from the Node.js main thread, see event loop. Deadlines and retries within a time budget: timeout budget.