Вычисление среднего времени запроса с использованием InfluxDB на Grafana

#grafana #influxdb #influxql

#grafana #influxdb #influxql

Вопрос:

Я использую influx для сохранения показателей. Я пытаюсь создать панель мониторинга в grafana, которая будет показывать среднее время выполнения метода в час.

Это мой запрос для вычисления времени выполнения метода:

введите описание изображения здесь

необработанный sql: введите описание изображения здесь

Запрос для вычисления среднего времени.

 SELECT MEAN("sum") FROM "autogen"."pfr_timed_http_request" 
WHERE "method"='request' AND $timeFilter 
GROUP BY time(1h) fill(null)
  

Но если график времени выполнения похож на правду, то график среднего времени выполнения выглядит странно.
Среднее значение должно быть около 4s, но оно даже намного меньше 1. Возможно, это связано с тем, что вычисление включает null как 0. Можно ли их исключить из вычисления?
Что я делаю не так?
! [введите описание изображения здесь
введите описание изображения здесь

Ответ №1:

Я предполагаю sum , что поле (не очень интуитивное имя поля) содержит время отклика, поэтому вычисляется среднее время отклика:

 SELECT MEAN("sum")
FROM "autogen"."pfr_timed_http_request"
WHERE "method"='request'
  AND $timeFilter
GROUP BY time(1h) fill(null)
  

Комментарии:

1. Спасибо вам! График стал более правдивым, но среднее значение по-прежнему вычисляется очень маленьким. Я обновил свой вопрос, пожалуйста, посмотрите

2. @NeverSleeps Я бы сказал, что запрос raw records неверен. Зачем вам нужна агрегация сумм там? Почему не просто SELECT "sum" FROM "autogen"."pfr_timed_http_request" WHERE "method"='request' AND $timeFilter . Может быть миллионы запросов со временем отклика 1 мс, которые отображаются как время отклика X секунд с суммированием сумм. Не вините graph, используйте таблицу и перечислите необработанные записи / агрегированные показатели там, чтобы доказать количество записей / значения / агрегации.