Рассчитать среднее время обработки запроса для всех типов событий в DataDog - PullRequest
0 голосов
/ 03 августа 2020

Я использую зависимость 'io.micrometer: micrometer-registry-prometheus' для вычисления среднего времени обработки запроса. Для этого я написал следующий java код

 public void processingTypeEvent(String eventType, Runnable runnable) {
    meterRegistry
        .timer("myapplication.processingTimeEvent", EVENT_TYPE_TAG, eventType)
        .record(runnable);
  }

Таким образом, с помощью этого кода таймер измеряет время, затрачиваемое исполняемым (методом запроса), а также подсчитывает количество раз был вызван метод. В результате генерируются две метрики, которые я могу использовать в Datadog:

"prometheus.myapplication_processingTimeEvent_seconds.sum" and "prometheus.myapplication_processingTimeEvent_seconds.count"

Затем, чтобы рассчитать среднее время обработки запроса, я создал график «Значение запроса» в datadog и использовал datadog среднее по функции . Но вместо того, чтобы давать среднее время , DataDog, похоже, вычисляет сумму среднего времени запроса для каждого типа события и показывает всегда увеличивающееся среднее время запроса в секундах (что неверно, потому что Я вошел в систему java кодируйте время запроса, и все они меньше 100 миллисекунд; поэтому среднее значение должно быть в диапазоне миллисекунд).

Итак, я полагаю, что я делаю что-то не так. Мой вопрос: Как вычислить среднее время отклика с помощью графиков DataDog?

NB, я также пробовал в качестве решения разделить количество на сумму с помощью функции «Добавить запрос». Вкратце это означает

prometheus.myapplication_processingTimeEvent_seconds.sum DIVIDED BY prometheus.myapplication_processingTimeEvent_seconds.count

. Но некоторые коллеги утверждали, что это неправильный способ расчета среднего и что он должен иметь возможность рассчитывать среднее значение «из коробки» с помощью DataDog. Что вы думаете об этом решении?

С уважением

...