Перейти к содержанию

·Observability

Инженеру — причина, а не симптом

«Страница загружается медленно» — это симптом. Причина находится в другом месте, и хороший дашборд отличается от плохого именно тем, ведёт ли он к ней.

Большинство панелей мониторинга показывают симптомы. Время загрузки выросло. Доля ошибок увеличилась. Показатель отзывчивости ухудшился.

Всё это правда и всё это бесполезно в момент, когда надо что-то делать. Симптом сообщает, что проблема есть; он не сообщает, где она.

Чем отличается панель, ведущая к причине

Тем, что каждый показатель на ней можно раскрыть до уровня, на котором видно действие.

Время загрузки выросло — у кого именно: у всех, у одного региона, у одной версии браузера, на одном маршруте. Дальше: выросло время до первого байта или время отрисовки. Дальше: если время до первого байта — какой запрос стал медленнее.

Каждый шаг сужает область. Панель, на которой невозможно сделать первый шаг, — это индикатор, а не инструмент.

Почему средние значения мешают

Среднее время загрузки — самый распространённый и самый бесполезный показатель. Он смешивает быстрых пользователей с медленными и меняется недостаточно, чтобы заметить проблему у части аудитории.

Проблема, затрагивающая десять процентов пользователей, в среднем почти не видна. В верхних процентилях она видна сразу. Поэтому смотреть надо на распределение, а не на одно число.

Это же объясняет, почему цифра из коммерческой панели иногда «выглядит нормально», пока пользователи жалуются: панель показывает среднее по всем, а жалуются те, кто в хвосте.

Ошибка без контекста — это не ошибка

Счётчик ошибок скриптов сам по себе не работает. В нём всегда есть шум: расширения браузера, боты, обрывы сети.

Полезной ошибка становится, когда к ней приложен контекст: версия сборки, маршрут, последовательность действий, была ли она у одного пользователя или у многих. Без этого сортировка списка ошибок по частоте выводит наверх то, что нельзя починить.

Что нужно, чтобы это было возможно

Свои данные с достаточной детализацией и достаточной историей.

Детализация — потому что раскрывать показатель можно только до того уровня, до которого сохранены измерения. Агрегат, приехавший из сервиса, дальше не раскрывается.

История — потому что вопрос «когда это началось» почти всегда важнее вопроса «сколько это сейчас». Начало обычно совпадает с выкатом, и это и есть ответ.

Разные вопросы разных людей

Инженеру нужна причина. Продуктовому специалисту нужно реальное поведение — не клики, а то, как люди на самом деле проходят сценарий, где останавливаются и где страница подводит.

Это два разных набора представлений над одними данными, и собрать их можно только если данные ваши. Коммерческая панель почти всегда сделана под один из двух вопросов, и второй в ней приходится изобретать обходными путями.