Микрометр и Прометей Таймер как скорость - PullRequest
0 голосов
/ 20 мая 2018

В соответствии с документацией Микрометра https://micrometer.io/docs/concepts#_server_side, каркас (Микрометр) должен обрабатывать преобразование метрики таймера в коэффициент из абсолютного значения

Приведенный ниже код имитирует фиктивный таймер:

@Service
public class AppService {
    private Timer timer = Metrics.timer("foobar");

    public String test() {
        timer.record(() -> {
            try {
                Thread.sleep((long) (Math.random() * 1000));
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
        return "foo";
    }
}

Однако в Прометее я вижу только монотонно увеличивающиеся метрики foobar_seconds_sum и foobar_seconds_count вместо того, чтобы рассматривать их как показатели

enter image description here

Возможно, я неправильно понял иличто-то упустил из виду в документации?

1 Ответ

0 голосов
/ 20 мая 2018

Так работает сводка Prometheus, вы можете рассчитать средний размер события с помощью:

  rate(foobar_seconds_sum[5m])
/
  rate(foobar_seconds_count[5m])

С клиентскими библиотеками Prometheus онемел и должен оставить более сложную математику для Prometheus.

...