Использование Coda Hale Meter в приложении Spring Boot
В документации сказано, что
Пользователи могут создавать метрики Coda Hale, добавляя к их именам метрик соответствующий тип (например, гистограмма., Метр.).
Я предполагаю, что это означает, что я могу использовать Counter или Guage с именем метрики в форме "meter.*", И это будет работать как метр. я пытался
counterService.increment("meter.si.invoice.processing");
но когда я посещаю /manage/metrics
Я просто вижу количество, а не измеренную норму. Как правильно использовать Coda Hale Meter в Spring Boot. В документации не очень понятно, как работает интеграция.
2 ответа
Конечная точка метрики не знает ничего о Codahale. Когда вы отправляете свои метрики туда, вам нужно использовать инструменты Codahale для их извлечения (например, счетчик не отображается непосредственно на типы метрик Spring Boot, поэтому нет очевидного способа показать их так, как вы пытались).
http://www.ryantenney.com/metrics-spring/ есть некоторая магия интеграции, которая связывает показатели codahale с приводом /health
конечная точка.
С учетом этой зависимости,
compile 'com.ryantenney.metrics:metrics-spring:3.0.0-RC2'
вы можете "включить метрики" в конфигурации вашего приложения
@EnableMetrics
public class ApplicationConfiguration {
...
Это позволяет вам синхронизировать каждый запрос с @timed
аннотация:
@Timed
@RequestMapping(method=RequestMethod.GET)
public @ResponseBody
Foo foo() {
...
и иметь ваши другие взаимодействия с MetricRegistry
агрегатировать в привод /health
конечная точка.
Я собрал пример приложения, которое реализует эту интеграцию:
https://github.com/benschw/consul-cluster-puppet/tree/master/demo
и написал более подробное руководство здесь: http://txt.fliglio.com/2014/10/spring-boot-actuator/