Отслеживание разреженных метрик с помощью микрометра приводит к публикации нулей - PullRequest
2 голосов
/ 06 марта 2020

Я использую микрометр для публикации sh нескольких различных метрик в Datadog; среди них есть число элементов, обработанных несколькими различными пакетными заданиями, которые могут быть довольно редкими.

Некоторые пакетные задания имеют разные интервалы, другие запускаются внешними событиями, поэтому они не имеют фиксированного интервала в все.

Однако моя конфигурация микрометра имеет значение step 30 с, которое я не хочу менять, как предложено в этом вопросе , поскольку у меня есть более плотные метрики, которые необходимо отслеживаться каждые 30 с.

Это означает, что каждые 30 с, если только пакетное задание не было запущено, мое приложение публикует ноль для каждого метрического задания c, загрязняя их.

I Я пытался справиться с этим в Datadog с помощью функции rollup , но я не знаю заранее интервал накопления, поскольку этот интервал может быть переменным для заданий, запускаемых внешними событиями.

Другое решение, которое я рассматриваю, состоит в том, чтобы расширить DataDogMeterRegistry, чтобы он очищал все метрики сразу после публикации, чтобы он публиковал только sh метрику s, которые регистрировались в последнем интервале 30 с, но мне было интересно, есть ли более четкий способ предотвратить отправку микрометром нулей для разреженных метрик.

...