【发布时间】:2021-01-27 14:17:37
【问题描述】:
我正在使用千分尺度量来监控 Vertx 服务中的 Http_max_response_time。 (使用 Prometheus 配置指标)。
在测试时,我在 13:15:16 发送了一个超时 3 秒的请求,并且仪表指标返回大约 Http_max_response_time (3s) 的正确值。但是在该请求之后,没有任何超时 3 秒的请求发送到服务器,仪表度量仍然返回 Http_max_response_time = 3 秒,直到 13:17:51,然后将新值 Http_max_response_time 更新为 less超过 3s。我认为它需要更频繁地更新。
我的问题在这里:
- 仪表指标更新新值多长时间或保持当前值多长时间?
- 计量指标 Http_max_response_time 执行哪个逻辑?它只是更新一个全局值并在有观察时返回它吗?
如果我的问题不清楚,请发表评论,我会详细说明。 提前致谢,
【问题讨论】:
-
你能详细说明你的设置是什么以及谁提供了这个“Http_max_response_time”仪表吗?在 vertx-micrometer-metrics 模块中,没有这样的量规,见vertx.io/docs/vertx-micrometer-metrics/java
-
除了我上面的问题,我可以回答这个问题:正如您所怀疑的,以微米为单位的测量指标只有在观察时才会提供价值。与计数器或摘要不同,它们无法跟踪两次观察之间发生的任何事情。在 vertx-micrometer-metrics 中,我们使用 Timer 度量来表示响应时间,这是一种特殊的 Summary。
-
谢谢@Joel,你是对的,vertx-micrometer-metrics 使用 Timer 指标来衡量响应时间。在我认为这是显示在 localhost:8080/metrics 上的信息之前,它是 Gauge 指标。 # TYPE vertx_http_server_responseTime_seconds_max 仪表。我更改了 DistributionStatisticConfig,这对我有用。
标签: httprequest prometheus vert.x gauge micrometer