[spring-projects/spring-boot]当 CompositeMeterRegistry 存在时,指标可能会更新两次

2024-04-10 976 views

回答

7

感谢您的公关。我们需要在这里小心行事,因为提议的更​​改将部分恢复此错误修复

3

我尝试了上述方法并在6413c5b中添加了一些测试。

0

如果有多个复合仪表存储库,则此修复将不起作用。我知道理论上这是可能的,但不确定这样的设置是否在实际中使用。如果可以在那里识别根复合仪表存储库,则可以处理该案件。此外,理论上,仪表注册表的树可能不止一个,我不确定此设置是否有效。

0

/cc @jkschneider @shakuzen @checketts

7

感谢您的修复@izeye!是什么Metrics.globalRegistry?这可能是“根”组合(如果有多个)吗?

8

@checketts 感谢您的反馈!我考虑过,但这里似乎不是一个选项,因为它是可选的,如下所示:

management.metrics.use-global-registry=true # Whether auto-configured MeterRegistry implementations should be bound to the global static registry on Metrics.
9

我在产品上遇到这个问题,我们使用 prometheus+New Relic 和我们的 Hystrix 指标双倍。但我们使用 Spring Boot 1.5,因此我将这些更改向后移植到 Micrometer 自己的桥 (micrometer-spring-legacy)。经过 QA 测试后,我们发现我们的指标不再翻倍。但在这个 PR 被接受之前,Micrometer 不会接受 PR。

因此,如果您能了解有关此 PR 的计划或担忧的最新信息,我将不胜感激。谢谢。

6

@wilkinsona 感谢您的反馈!我按照建议在 04c7553 进行了更新。

8

另一种方法是始终拥有一个复合注册表(调度程序),即使在使用单个注册表时也是如此,或者将 globalRegistry 从可选更改为必需。但目前的版本似乎也不错。

顺便说一句,CI 构建在不相关的测试中失败了。

6

@wilkinsona 您对当前状态满意还是想进一步挖掘?

7

目前的状态对我来说看起来不错。

6

再次感谢@izeye。建议的更改已合并到 2.1.x 中并转发到 master 中。

3

@wilkinsona 谢谢!顺便问一下,有什么理由不合并到2.0.x分支吗?

1

@izeye 2.0.x 现已停产,2.0.9是 2.0.x 系列中的最后一个版本。

7

@mbhave 感谢您的快速反馈?我不知何故错过了这个消息?