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

Posted

技术标签:

【中文标题】显式设置 JFR 事件的持续时间【英文标题】:Explicitly setting the duration of a JFR event 【发布时间】:2020-09-19 14:13:39 【问题描述】:

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

【问题讨论】:

【参考方案1】:

您需要创建一个自定义属性。

您可以使用@jdk.jfr.Timespan(Timespan.NANOSECONDS) 指示它应该显示为持续时间。

【讨论】:

以上是关于显式设置 JFR 事件的持续时间的主要内容,如果未能解决你的问题,请参考以下文章

如何识别 JFR 事件类型

JFR 如何计算事件开始时间?

为啥 JFR 会跳过事件字段

JDK14的新特性:JFR,JMC和JFR事件流

JDK14的新特性:JFR,JMC和JFR事件流

内置 JFR(Java Flight Recorder)事件记录在哪里?