0

我正在使用 Micrometer 项目在我的 spring boot 2.x 应用程序中发布指标。

我已经实现了两个MeterRegistryStepMeterRegistrySimpleMeterRegistry),所以 spring boot 在内部创建CompositeMeterRegistry了一组 StepMeterRegistry 和 SimpleMeterRegistry。

现在,我正在使用/actuator/metrics端点来查看当前指标计数。

实现MetricsEndpoint如下:
- 它将从 compositeMeterRegistry 获取第一个注册表并显示指标。

所以现在问题如下: -compositeMeterRegistry管理设置,因此不能保证顺序,但我只想SimpleMeterRegistry'/actuator/metrics'端点发布。

我遵循的当前解决方法是为 MetricsEndpoint 创建 @Primary bean 并提供 SimpleMeterRegistry。

@Primary
@Bean
public MetricsEndpoint metricsEndpoint(SimpleMeterRegistry registry) {
    return new MetricsEndpoint(registry);
}

由于千分尺现在由Spring管理,他们为什么不在CompositeMeterRegistry中保留注册表的List或LinkedHashSet 。它对开发人员来说很容易使用。

4

0 回答 0