Я записываю некоторые пользовательские таймеры, и микрометр создает метрики foo_timer_count
, foo_timer_max
, foo_timer_sum
, но я также хочу отобразить на графике, какова была длительность. Я не хочу среднее, сумму или максимум, но я хочу, чтобы фактическая длительность отображалась во времени.
Это пример:
Timer.Sample sample = Timer.start(meterRegistry);
long duration = sample.stop(meterRegistry.timer(CustomUtil.CUSTOM_TIMER));
Таким образом, вы можете получить фактический duration
таймера, но я не вижу его на конечной точке /actuator/prometheus
- Есть ли способ отобразить его с другими сгенерированными метриками?
- Если не могу, я могу записать
duration
в какой-то объект и выставить его как метри c и показать его со временем?
К вашему сведению: я пытался создать Gauge
и запись duration
на него, и он работал для первого запроса, но после этого все остальные вернули NaN
. Я прочитал документацию и добавил strongReference
, но это сохраняет значение первого запроса и не обновляет каждый.