【发布时间】:2019-03-31 17:28:57
【问题描述】:
我让 prometheus 每隔1m 从我的 API 服务器抓取请求延迟的直方图。
然后我将直方图可视化为 Grafana 中的热图。它看起来像这样:
我的查询是:
sum(http_request_duration_seconds_bucket) by (le)
-
sum(http_request_duration_seconds_bucket offset 1m) by (le)
我对此的理解是:获取相关时间的存储桶向量并在获取该分钟的存储桶向量前 1 分钟减去存储桶向量(直方图累积并且每次刮擦都不会清除它们的存储桶)
但问题是,查看我的请求日志,我看到了:
...
13:56:13 GET 304 3 ms
13:56:18 GET 304 4 ms
13:56:18 POST - -
13:56:23 GET 304 4 ms
13:56:28 GET 304 0 ms
13:56:32 GET 304 3 ms
13:56:38 GET 304 6 ms
13:56:42 GET 304 4 ms
13:56:48 GET 304 9 ms
13:56:53 GET 304 2 ms
13:56:54 POST - -
13:56:58 GET 304 2 ms
13:57:01 GET 200 2 ms
13:57:03 GET 304 6 ms
13:57:08 GET 304 4 ms
13:57:12 GET 304 3 ms
13:57:18 POST - -
13:57:21 GET 304 8 ms
13:57:21 GET 304 8 ms
13:57:23 GET 304 4 ms
...
如您所见,“Inf”运行时的第一次请求是在 13:56,但如果我们查看直方图,直到 13:58。
为什么数据会偏移 2 分钟?
【问题讨论】:
标签: grafana prometheus