Ovo su tri stupa promatranja. Odgovaraju na različita pitanja: metrike vam govore da nešto nije u redu, logovi vam govore što se dogodilo, a tragovi vam govore gdje je u distribuiranom tijeku prošlo vrijeme ili greška.
Ovo su tri stupa promatranja. Odgovaraju na različita pitanja: metrike vam govore da nešto nije u redu, logovi vam govore što se dogodilo, a tragovi vam govore gdje je u distribuiranom tijeku prošlo vrijeme ili greška.
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
Metrike vas ograničavaju na simptom i vremenski prozor; tragovi ga lokaliziraju na uslugu ili poziv; logovi daju točan uzrok. Direktno ideš na logove bez metrika znači da tražiš na slijepo.
Metrike su agregirirane, pa ostaju jeftine čak i na skali — idealne za uvijek uključene nadzorne ploče i alarme. Logovi i tragovi su po događaju i skupi, pa se obično uzorkuju i ispituju na zahtjev tijekom istrage.
Koristenje kriveog stupa gubi vrijeme: ne možeš učinkovito upozoriti na neobrađene logove (previše bučni, previše skupi), niti možeš debugirati specifičan neuspješan zahtjev iz agregirane metrike. Znajući da metrike detektiraju, tragovi lociraju, a logovi objašnjavaju, daje ti brz, ponovljiv put od "nešto nije u redu" do glavnog uzroka.