【问题标题】:Calculation average request time using InfluxDB on Grafana在 Grafana 上使用 InfluxDB 计算平均请求时间
【发布时间】:2021-03-06 18:08:25
【问题描述】:

我正在使用 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的原因,可以排除在计算之外吗? 我究竟做错了什么? ![在此处输入图片说明

【问题讨论】:

    标签: grafana influxdb influxql


    【解决方案1】:

    我猜sum字段(不是很直观的字段名称)持有响应时间,所以平均响应时间计算:

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

    【讨论】:

    • 谢谢!图表变得更加真实,但平均值仍然计算得非常小。我已经更新了我的问题,请参阅
    • @NeverSleeps 我会说原始记录查询是错误的。为什么你需要 SUM 聚合?为什么不简单SELECT "sum" FROM "autogen"."pfr_timed_http_request" WHERE "method"='request' AND $timeFilter。可能有数百万个响应时间为 1 毫秒的请求,显示为 X 秒响应时间和 SUM 聚合。不要责怪图表,使用表格并在那里列出原始记录/聚合指标来证明记录计数/值/聚合。
    猜你喜欢
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多