Как @Counted работает в spring boot?

#spring-boot #prometheus #spring-boot-actuator #health-monitoring #spring-micrometer

#spring-boot #prometheus #пружинный загрузочный привод #мониторинг работоспособности #пружина-микрометр

Вопрос:

Как работает @Counted? Я добавил аннотацию @Counted в свой метод в контроллере и ожидаю увидеть, сколько обращений поступает на контроллер. Но я не вижу метрик, добавленных в URL http://localhost:8080/actuator/prometheus .

  @Counted(value = "counted.success.test",description = "testCounter")
 

Комментарии:

1. Не могли бы вы указать, какие настройки вы выполнили для prometheus, чтобы перенаправить всю статистику на привод? Вы получаете ключ в приводе или нет?

2. @Йогеш Праджапати не получал ключ в prometheus.

Ответ №1:

Вам нужно добавить a CountedAspect в качестве компонента, затем метрики создаются при вызове метода:

 @Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class Config {

    @Bean
    CountedAspect countedAspect(MeterRegistry registry) {
        return new CountedAspect(registry);
    }
 

(Не могу вспомнить, почему мы добавили @EnableAspectJAutoProxy(proxyTargetClass = true) )

Несмотря на то, что такая настройка не является точной, метки class и method изменятся, как только вы проведете рефакторинг своего кода, и ваша панель управления Grafana может больше не работать.

Комментарии:

1. Добавлен компонент CountedAspect, и он сработал. @Bean public CountedAspect countedAspect(MeterRegistry meterRegistry) { возвращает новый CountedAspect(meterRegistry); }