gpt4 book ai didi

java - 带有直方图计时器的 Spring Boot 2.x 矩阵

转载 作者:行者123 更新时间:2023-11-30 10:13:39 28 4
gpt4 key购买 nike

在将 Micrometer 作为 SpringBoot 中的底层指标提供者引入之前,创建您自己的 Timer 计量表非常简单直方图,具有预定义的存储桶大小等,只需使用 Timer.builder() 模式即可。似乎在 SpringBoot 2.x 之后,我不再能够在直方图中定义自己的桶边界。我所能找到的只是一种告诉 SpringBoot 发布百分位直方图的方法,我无法控制它。自动配置的 http.server.request 指标的百分位直方图几乎完成了我想要的所有事情,除了它对我的用例来说有太多的桶。我已经查看了所有有关如何至少配置此指标的最小值和最大值的解释,但这似乎是不可能的。

如果有人对如何为 Timer 配置百分位直方图有任何见解,或者如果有一种方法可以直接在 Prometheus 中组合桶,我将不胜感激帮助。

最佳答案

针对您的特定问题(即桶太多)的一种解决方法(不是解决方案,但可能已经足够)是在您的 Prometheus 配置中过滤掉您在抓取时不需要的桶:https://www.robustperception.io/dropping-metrics-at-scrape-time-with-prometheus/

你必须按照这些思路使用一些东西(还没有测试过):

scrape_configs:
- job_name: 'my_job'
static_configs:
- targets:
- my_target:1234
metric_relabel_configs:
- source_labels: [ __name__, le ]
regex: 'http\.server\.request_buckets;(0.1|0.5|1.0)'
action: drop

这应该(同样,未经测试)删除所有 le="0.1" , le="0.5"le="1.0"水桶。这对普罗米修斯直方图来说是完全安全的,无论桶是在范围的末尾还是在中间,因为桶是累积的,即 le="1.0"桶计算值的所有出现次数 < 1.0 .

关于java - 带有直方图计时器的 Spring Boot 2.x 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51250666/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com