Вчера вечером, сидя за очередным багом в продакшне, который никак не хотел воспроизводиться в деве, я вдруг поймал себя на мысли: а ведь я работаю с "слепой" системой. Точнее, я вижу только то, что мне позволяют логи. А что если где-то там в недрах приложения происходит что-то, о чем я даже не догадываюсь? Кофе остывал, а я все листал документацию, пытаясь понять, что же это за зверь такой — Observability. Слово, которое постоянно мелькало в статьях, но которое я как-то пропускал мимо ушей. А может, зря? Начал я, как водится, с Википедии. "Способность внутреннего состояния системы быть выведенным из знаний о ее внешних выходах". Хм, звучит как что-то из области астрофизики. Продолжил рыться в статьях — метрики, трассировка, логирование... И тут до меня дошло: да ведь это же про то, чтобы видеть систему целиком, а не по частям! Стали вспоминаться ситуации из опыта. Вот у меня приложение вроде работает, API отвечает быстро, но пользователи жалуются, что "где-то что-то тормозит". Логи мол
Почему мой код "слепой", а я этого не замечал? (Или как я случайно открыл для себя Observability)
29 ноября29 ноя
3 мин