Я провел несколько дней и не смог заставить его работать, новинка в приборостроении весной.
У меня есть приложение с весенней загрузкой 2.В pom.xml
я определил:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-statsd</artifactId>
<version>1.1.5</version>
</dependency>
В application.conf
:
management.metrics.export.statsd.host=localhost
management.metrics.export.statsd.port=8125
management.metrics.export.statsd.flavor=etsy
management.metrics.export.statsd.step=2m
management.metrics.export.statsd.enabled=true
management.endpoints.web.exposure.include=health,metrics
В приложении при запуске я хочу экспортировать новую метрику (счетчик):
@SpringBootApplication
public class MyApplication {
private static final Logger LOG = LoggerFactory.getLogger(MyApplication.class);
private static final StatsdConfig config = new StatsdConfig() {
@Override
public String get(String k) { return null; }
@Override
public StatsdFlavor flavor() { return StatsdFlavor.ETSY; }
};
private static final MeterRegistry registry = new StatsdMeterRegistry(config, Clock.SYSTEM);
public static void main(String[] args) {
// globalRegistry is composite hence was hoping they will unite into one
Metrics.globalRegistry.add(registry);
Counter myCounter = Counter
.builder("myCounter")
.description("indicates instance count of the object")
.tags("dev", "performance")
.register(registry);
// .register(Metrics.globalRegistry);
myCounter.increment(2.0);
LOG.info("Counter: " + myCounter.count());
SpringApplication.run(MyApplication.class, args);
}
}
Если он закодирован, как указано выше, он недоступен в http://localhost:8081/actuator/metrics/myCounter. Но если я раскомментирую .register(Metrics.globalRegistry);
и прокомментирую предыдущую строку, тогда http://localhost:8081/actuator/metrics/myCounter содержит метрику, но ее значение равно0.0
вместо 2.0
.
Мне нужно, чтобы мой настраиваемый реестр содержал настраиваемые метрики, определенные в приложении, и был правильно зарегистрирован и доступен в конечной точке метрик, после чего его можно было экспортировать в StatsD.Знаете ли вы, что мне не хватает в вышеупомянутом?
Я следовал этим документам https://www.baeldung.com/micrometer и https://micrometer.io/docs/registry/statsD. Как создать bean-компонент для моего кода или, как альтернативно, использовать автонастроил реестр с помощью Spring Boot?