Микрометр |Почему CompositeMeterRegistry управляет набором реестра вместо List / LinkedHashSet? - PullRequest
0 голосов
/ 07 ноября 2019

Я использую проект Micrometer для публикации метрик в моем приложении весенней загрузки 2.x.

Я реализовал два MeterRegistry (StepMeterRegistry и SimpleMeterRegistry), поэтому весенняя загрузка внутренне создает CompositeMeterRegistryИмея набор StepMeterRegistry и SimpleMeterRegistry.

Теперь я использую конечную точку /actuator/metrics для просмотра текущего количества метрик.

Реализация MetricsEndpoint выглядит следующим образом:- Он будет извлекать первый реестр из композитногоMeterRegistry и отображать метрики.

, поэтому теперь проблема ниже: - compositeMeterRegistry управляет набором, поэтому порядок не гарантируется, но я хочу опубликоватьSimpleMeterRegistry только для конечной точки '/actuator/metrics'.

Текущий обходной путь, который я использовал, создает @Primary bean для MetricsEndpoint и предоставляет SimpleMeterRegistry.

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

Поскольку Spring теперь управляет микрометром, почемуони не сохранили список или LinkedHashSet реестра в CompositeMeterRegistry. Это было бы легко для разработчиков.

...