Dette er de tre pilarene av observabilitet. De svarer på ulike spørsmål: metrikker forteller deg at noe er galt, logger forteller deg hva som skjedde, og spor forteller deg i en distribuert flyt tiden eller feilen gikk.
Dette er de tre pilarene av observabilitet. De svarer på ulike spørsmål: metrikker forteller deg at noe er galt, logger forteller deg hva som skjedde, og spor forteller deg i en distribuert flyt tiden eller feilen gikk.
METRICS aggregate numbers over time (counters, gauges, histograms)
→ cheap, low cardinality, great for trends & ALERTING
→ e.g. error rate = 2%, p99 latency = 800ms
LOGS discrete, timestamped events with detail (often structured JSON)
→ rich context for DEBUGGING a specific request
→ e.g. {"level":"error","user":123,"msg":"payment declined"}
TRACES the path of one request across services, with timing per span
→ shows latency BREAKDOWN and where a call fails
→ e.g. checkout 800ms = api 50ms + db 700ms + email 50ms
1. METRIC alerts: "checkout p99 latency jumped to 2s" → you know THERE's a problem
2. TRACE a slow request: 1.8s of 2s is spent in the inventory service
→ you know WHERE it is
3. LOGS of the inventory service at that time: "slow query: missing index"
→ you know WHAT happened
Metrikker begrenser deg til et symptom og tidsvindu; spor lokaliserer det til en tjeneste eller samtale; logger gir den eksakte årsaken. Å gå direkte til logger uten metrikker betyr å søke blindt.
Metrikker er aggregert, så de forblir billige selv i stor skala — ideelt for alltid-på dashboards og varsler. Logger og spor er per-hendelse og dyre, så de blir vanligvis samplet og spurt på etterspørsel under etterforskning.
Å bruke feil pilar sløser tid: du kan ikke varsle effektivt på råe logger (for mye støy, for dyrt), og du kan ikke feilsøke en spesifikk mislykket forespørsel fra en aggregert metrikk. Å vite at metrikker oppdager, spor lokaliserer og logger forklarer, gir deg en rask, gjentakbar vei fra "noe er galt" til rotårsak.