Observability

Problem

A distributed system fails in a way you didn't predict. You cannot add a new debug statement after the past failure happened. The system must expose enough information for you to investigate unknown problems.

Solution — Observability

Design systems to expose useful internal behaviour through telemetry such as: logs metrics traces profiles
Core idea: observability is the ability to understand internal system behaviour from the information it exposes.