0

Spring Boot 2.x アプリケーションでメトリックを公開するために Micrometer プロジェクトを使用しています。

MeterRegistry2 つの(StepMeterRegistrySimpleMeterRegistry)を実装したので、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);
}

micrometer は Spring によって管理されるようになったので、レジストリの List または LinkedHashSet を CompositeMeterRegistryに保持しないでください。開発者にとって使いやすいでしょう。

4

0 に答える 0