Перейти к содержимому
9 / 15

$__rate_interval и $__interval: почему график меняется при изменении масштаба

Grafana не рисует все точки, которые есть в источнике: она делит выбранный диапазон на число пикселей ширины панели и просит источник вернуть примерно столько точек. Размер шага и есть $__interval — он меняется при зуме, поэтому один и тот же запрос на диапазоне в сутки и в час выполняется с разными окнами. Для rate() это ломается: при глубоком зуме $__interval становится меньше интервала скрейпа, в окно попадает меньше двух точек, и панель показывает «No data». Для этого существует $__rate_interval с формулой max($__interval + Scrape interval, 4 * Scrape interval), где Scrape interval — это Min step панели, а при его отсутствии — timeInterval источника данных. Формула гарантирует минимум четыре точки в окне и добавляет перекрытие в один интервал скрейпа, чтобы прирост на границе окна не потерялся. Практическое правило: внутри rate и increase всегда $__rate_interval, в *_over_time$__interval.

$__rate_interval и $__interval: почему график меняется при изменении масштаба | JScriptiser