Использование 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/

Другие вопросы по тегам