Пропуски Middle PromQL обновлено

Считаем histogram_quantile вручную

Вопрос

Скорости бакетов sum by (le) (rate(..._bucket[5m])): le="0.1" 60, le="0.25" 85, le="0.5" 95, le="1" 100, le="+Inf" 100 (в секунду). histogram_quantile(0.9, ...) вернёт (1), а histogram_quantile(0.99, ...) вернёт (2).

Попробуйте сами

Заполните пропуски по номерам.

1
2
Показать ответ и разбор

Коротко

Ранг p90 это 0.9 × 100 = 90. Он попадает в бакет (0.25, 0.5], где накопленное число растёт с 85 до 95.

Что в пропусках

1

0.375

2

0.9

Разбор

Ранг p90 это 0.9 × 100 = 90. Он попадает в бакет (0.25, 0.5], где накопленное число растёт с 85 до 95. Доля внутри бакета (90 - 85) / 10 = 0.5, значение 0.25 + 0.5 × 0.25 = 0.375. Для p99 ранг 99 в бакете (0.5, 1] с ростом от 95 до 100: 0.5 + (99 - 95) / 5 × 0.5 = 0.9. Интерполяция линейная, поэтому реальные значения могут отличаться. Проверено на движке PromQL из Prometheus 3.5.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.