Как получить метрики из пружинного микрометра - PullRequest
0 голосов
/ 18 сентября 2018

Я экспериментировал с микрометром, используя приведенный ниже код.Как настроить агрегацию скорости и получить агрегированные данные скорости от заданного счетчика в приложении.Под агрегированной скоростью я имею в виду данные за предыдущий интервал публикации?

final MeterRegistry myRegistry = new SimpleMeterRegistry();
final Random random = new Random();
for (iteration = 0; iteration < 1000; iteration++)
{
    final int randomNum = random.nextInt(10);
    final Counter myCounter = myRegistry.counter("myTestCounter", "random", Integer.toString(randomNum));
    myCounter.increment();
    Thread.sleep(100);
}
System.out.println("measure = [" + myRegistry.counter("myTestCounter", "random", "0").measure());
System.out.println("count = [" + myRegistry.counter("myTestCounter", "random", "0").count());

Примечание. Я не хочу публиковать метрики в какой-либо системе мониторинга.Я хотел бы отследить количество запросов с заданными тегами за интервал (например, успешных / неудачных запросов за заданный интервал) в самом приложении и использовать его для обеспечения устойчивости.

1 Ответ

0 голосов
/ 18 сентября 2018

Основываясь на комментарии автора проекта, Micrometer намеревается экспортировать метрики во внешнюю готовую систему мониторинга, такую ​​как Prometheus, поэтому ваш подход довольно необычен.

Микрометр поддерживает агрегирование скоростей для систем мониторинга, которые не поддерживают агрегацию скоростей, таких как InfluxDB, и его поддержка исходит от StepMeterRegistry. Но SimpleMeterRegistry не является одним из его подклассов, поэтому вам нужно создать свой собственный, если вы хотите придерживаться подхода.

ОБНОВЛЕНИЕ:

Я создал образец для пользовательского StepMeterRegistry.

...