Comments 8
Стоп. Разве это не решается через анализ изменений просто P50?
P99/P95 это для ловли экстремумов, а производительность следует мониторить просто по медиане / 50му персентилю. Который в приведённом случае определённо уползёт.

Смотрите на несколько процентилей, и все сразу будет понятно
А хитмап так вообще еще более мощный инструмент (видно и количество, и латенси запросов), но чтоб его правильно читать, нужна определенная сноровка.
Вот только 95-99 перцентили используют не для измерения производительности, а для для определения "наихудшего пользовательского опыта" - и это довольно важная метрика сама по себе, и ваш вариант её никак не заменяет, насколько я понимаю.
Эм ... простите, что?

Вот тут же явно p99 для зеленых существенно ниже, чем для фиолетовых. Вы же высчитываете минимальное число, за которое обрабатыватся 99% запросов, а не просто случайное, разве нет?
То есть, конечно, p99 далек от идеала, особенно если его считать через бакеты, но это совсем какая-то странная страшилка.
Дано: на входе поток данных без рабочей гипотезы об их распределении.
Гуру: я нашёл ОДНО число, которое позволяет полностью описать ваши данные! Это персентили!
Другой гуру: вы всё ещё измеряете latency в персентилях? Узрите, я принёс вам свет истины. Есть ДРУГОЕ ОДНО число, которое позволяет полностью описать ваши данные!
А теперь подумайте о user experience: существует немало бизнесов, для которых такое значительное увеличение latency просто неприемлимо! Можем ли мы как-то улучшить ситуацию?
Конечно, можете. В первую очередь определив, какие же показатели "приемлемы" для бизнеса, а ПОТОМ уже определяя, что и как надо мониторить. А априорное выдумывание неких показателей, которые "лучше" мониторить - идея дурная, как их ни называй.
В нашем случае это не лучшая идея, ведь в эту метрику будет входить, например, скорость передачи данных по сети, а также все, что свя
На самом деле это лучшая идея и то, что, по хорошему нужно измерять в первую очередь и алертить все существенные изменения от среднего в статистике. Те метрики, которые получаются на выходном интерфейсе в сеть только лишь помогут вам в локализации проблемы детализируя монтиторинг и должны вводиться уже во вторую очередь.
Все еще измеряете latency в персентилях?