Средняя latency не опровергает зависший экран

Счётчик FPS может показывать хорошее число, пока игра дёргается. Средняя частота кадров не описывает равномерность их подачи. С временем ответа сервиса похожая история.

Условный пример: 99 запросов завершились за 100 мс каждый, один за 5 секунд. Среднее — 149 мс. Расчёт верный, но пользователь последнего запроса всё равно ждал пять секунд.

Общий p99 тоже не всегда помогает. Редкая тяжёлая операция может потеряться среди частых лёгких запросов. Нужно выбрать правильную выборку, а не только другую статистику.

Я бы измерял конкретное действие: от клика до готового результата на экране. Быстрый API не исключает задержку в браузере. Для этого действия смотрел бы распределение времени, p95/p99 вместе с числом наблюдений, таймауты отдельно. Затем несколько медленных трассировок, чтобы понять причину ожидания.

При малой выборке перцентиль мало что доказывает. Среднее тоже можно оставить: оно полезно для общей картины, но не заменяет разбор конкретного сценария.

Прежде чем отвечать на «тормозит» словами «по метрикам всё нормально», стоит проверить, измеряем ли мы то действие, на котором застрял пользователь.