SLO «99% запросов быстрее 300 мс» по гистограмме с корзинами 0.25 и 0.5
Сервис на Go пишет http_request_duration_seconds со стандартными корзинами клиента: …, 0.1, 0.25, 0.5, 1, …. SLO: 99% запросов быстрее 300 мс. Дашборд SLO строится так:
histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))
Панель показывает 0.29 с, «SLO выполняется». По логам ingress за тот же час запросов медленнее 300 мс — 2,3%.
Как измерять этот SLO точно?
- Добавить корзину 0.3 и считать долю по le="0.3"
- Сократить окно rate с [5m] до [1m]
- Считать квантиль по avg_over_time корзин
- Перейти на summary с квантилем 0.99
