Явная настройка продолжительности события JFR

#jfr

#jfr

Вопрос:

Я работаю над реестром микрометров, который отправляет метрики в JFR. До сих пор я добиваюсь хорошего прогресса, используя EventFactory и Event#set(int, Object) . Однако одна вещь, с которой я сейчас борюсь, заключается в том, что Micrometer явно хочет установить продолжительность событий, например, используя io.micrometer.core.instrument.Timer#record(long, TimeUnit) . Есть ли способ установить продолжительность события JFR, кроме как с помощью #start() and #end() ? Или мне нужно ввести новый пользовательский атрибут для продолжительности, которую я могу установить?

Ответ №1:

Вам необходимо создать пользовательский атрибут.

Вы можете использовать @jdk.jfr.Timespan(Timespan.NANOSECOONDS), чтобы указать, что оно должно отображаться как длительность.