IRInterview Ready
← System Design

Observability (Logs, Metrics, Traces)

Observability & Ops

The three pillars — structured logs, aggregated metrics, and distributed traces — that let you understand what a distributed system is actually doing, especially when something breaks.

In a monolith, a debugger and a log file can answer most questions. In a distributed system, a single user request might touch a dozen services, and you need purpose-built tools to understand it: metrics (numeric time series, e.g. request rate/error rate/latency — cheap to store, great for dashboards/alerting, but tell you 'what' not 'why'), logs (discrete, detailed events, ideally structured/JSON with a consistent schema — tell you the detailed 'why' for one specific event, but expensive to store/search at full fidelity), and distributed traces (a single request's journey across every service it touched, with timing for each hop, stitched together by a shared trace ID propagated through every call — the only one of the three that shows you the actual causal chain across services).

How it connects

Observability (Logs, Metrics, Traces) as the source, with the components it typically interacts with.

Circuit breaker state trans…Service meshes emit richConsumer lag and throughputObservability (Logs,Metrics, Traces)Observability & OpsCircuit Breaker &BulkheadReliabilityService Mesh &Sidecar ProxyNetworking & DeliveryMessage Queues &Event StreamingAsync Communication
  • Circuit Breaker & Bulkhead: Circuit breaker state transitions (closed/open/half-open) are exactly the kind of signal that needs to be visible in dashboards and alerts.
  • Service Mesh & Sidecar Proxy: Service meshes emit rich per-request metrics/traces (latency, error rate) out of the box, feeding directly into the observability stack.
  • Message Queues & Event Streaming: Consumer lag and throughput on queues are critical observability metrics for detecting backpressure before it becomes user-visible latency.