显式设置 JFR 事件的持续时间

Explicitly setting the duration of a JFR event

我正在研究将指标发送到 JFR 的 Micrometer 注册表。到目前为止,我使用 EventFactoryEvent#set(int, Object) 取得了很好的进展。然而,我目前正在努力解决的一件事是 Micrometer 明确想要设置事件的持续时间,例如使用 io.micrometer.core.instrument.Timer#record(long, TimeUnit)。除了使用 #start()#end() 之外,还有其他方法可以设置 JFR 事件的持续时间吗?或者我是否必须在我可以设置的持续时间内引入新的自定义属性?

您需要创建自定义属性。

可以用@jdk.jfr.Timespan(Timespan.NANOSECOONDS)表示应该显示为时长