Выбор ответа Middle PromQL спрашивают часто обновлено
histogram_quantile без le
Вопрос
Что вернёт histogram_quantile(0.9, sum(rate(http_request_duration_seconds_bucket[5m])))?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Пустой результат: без by (le) метки le нет. histogramquantile использует метку le каждого ряда как границу бакета. sum без by схлопывает все бакеты в одно число без le, функции нечего интерполировать, и результата нет (в новых версиях с предупреждением в интерфейсе).
Варианты ответа
- p90 по всему сервису
- Среднее время ответа по всем бакетам
- p90 для каждого бакета отдельно
- Пустой результат: без
by (le)меткиleнетправильный ответ
Разбор
histogram_quantile использует метку le каждого ряда как границу бакета. sum без by схлопывает все бакеты в одно число без le, функции нечего интерполировать, и результата нет (в новых версиях с предупреждением в интерфейсе). Правильно sum by (le) (rate(..._bucket[5m])), а для разбивки по маршрутам sum by (le, route). Проверено на движке PromQL из Prometheus 3.5.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.