Выбор ответа 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, функции нечего интерполировать, и результата нет (в новых версиях с предупреждением в интерфейсе).

Варианты ответа

  1. p90 по всему сервису
  2. Среднее время ответа по всем бакетам
  3. p90 для каждого бакета отдельно
  4. Пустой результат: без 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 ошибок.