Телеметрия, диагностики и компилятор
В современном мире невозможно себе представить взрослое приложение, которое не экспортирует телеметрию. Метрики — важнейший атрибут поддерживаемого софта; для всех более-менее профессиональных технических специалистов термин « visibility » давно вытеснил прочие остальные баззворды наподобие « test coverage » и « continious integration ». Примерно двадцать лет назад я впервые узнал о философии отказоустойчивости Джо Армстронга, которая сводится к тому, что инструменты, помогающие разработчику не принести в код ошибку — штука хорошая, но по гамбургскому счету бесполезная, потому что не существует такой приблуды, которая сделает программиста идеальным. Разработчики, даже самые лучшие, будут ошибаться, и первоочередная цель инструментария — минимизировать потери от неизбежных ошибок, а не элиминировать оные полностью . Достижимые цели всегда лучше хрестоматийно правильных. Отсюда вырос знаменитый «слоган» эрланга « Let It Crash! », высмеиваемый и всегда неверно трактуемый теми, кто неутомимо отслеживает все исключительные ситуации… и спотыкается об отсутствие нужного для их корректной обработки контекста в месте ловли. « Let It Crash » — означает не « Хрен с ними, с ошибками », а « Случилась какая-то хрень в рантайме, но мы к ней готовы » . ¡NB! В тексте нет прямых примеров использования телеметрии в ООП/ФП проектах, но я глубоко убежден, что этот текст будет полезно прочитать, даже если вы просто перекладываете джейсоны из пустого в порожнее на шарпах, котлине или хаскеле. Telemetry it!
https://habr.com/ru/articles/906008/
#метрики #observability #visibility #graphana #prometheus