Grafana Flux - Получение прироста значения в час
У меня есть метрика, которая собирается раз в минуту. Мне нужно получить число (на панели Legend или отдельным графиком) где указывалось бы значение выражения (последнее значение - первое значение) / время интервала (сек) * 3600 т.е. скорость изменения в час
Но я не пойму как работает aggregateWindow. Следующее выражение (тут min/max) не работает:
from(bucket: "jmeter")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] =~ /${stand:pipe}/)
|> filter(fn: (r) => r["_field"] == "offer_count")
|> aggregateWindow(every: v.windowPeriod, fn: (max-min)/v.windowPeriod)
|> yield(name: "offer_count")
Ответы (1 шт):
Автор решения: B_Noname
→ Ссылка
Для отображения скорости прироста данных можно использовать функцию derivative().
Пример использования функции можно подсмотреть во встроенном (дефолтном) дашборде influxdb:
from(bucket: v.bucket)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "http_api_requests_total")
|> filter(fn: (r) => r.path == "/api/v2/query")
|> filter(fn: (r) => r._field == "counter")
|> derivative(unit: v.windowPeriod, nonNegative: true)
|> yield(name: "derivative")
Вместо плавающего окна unit: v.windowPeriod можно задать жестко unit: 1h