Метрики, логи и трейсы — каждый отвечает на свой вопрос дешевле всего. Join-ключи и exemplar'ы делают их компонуемыми в единую навигационную поверхность.
Почему продакшн-логи в 2026 — это JSON-или-ничего, что реально содержит рабочая схема лога, как levels и sampling контролируют счёт, и почему PII-дисциплина и log injection — это инженерные заботы первого порядка, а не доп. опции.
Четыре части OTel — API, к которому обращается код, SDK, собирающий телеметрию, Collector, обрабатывающий и маршрутизирующий её, и OTLP как wire-формат — и как многослойная модель даёт инструментировать однажды и менять backend без переписывания кода.
Почему RED (Rate, Errors, Duration) описывает сервис со стороны клиента, USE (Utilization, Saturation, Errors) описывает ресурсы со стороны ядра, и почему senior-инженеры запускают оба чек-листа — плюс налог на cardinality, который наказывает за наивные label.
Почему W3C-заголовок traceparent — это 55-байтная несущая строка, превращающая 50 разрозненных сервисов в один навигируемый трейс, как baggage переносит контекст через async-границы, и как head vs tail sampling решают, какие трейсы выживут.
Как sampling profiler превращают непропорциональную долю CPU в flame graph, читаемый за 60 секунд, как eBPF и continuous profiling смотрят за production с 2-5% overhead, и как on-CPU vs off-CPU профили отвечают на разные вопросы об одном медленном запросе.
Как RED + USE + SLO + traces + profiles складываются в одну debugging-петлю, как OpenTelemetry унифицирует четыре сигнала через один SDK и один wire-format, и что 'наблюдаемость, которая окупается' реально значит на production-масштабе.