【发布时间】:2021-09-06 12:17:58
【问题描述】:
我正在努力添加自定义飞行记录器事件以跟踪我们的一些 KPI,并通过飞行记录转储将它们暴露出来。
一个令我头疼的问题是如何将事件标记为基于“即时”或“持续时间”的事件。
https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm#JFRUH171
从我有限的测试来看,似乎在您稍后重用的事件上调用 commit(比如在 ThreadLocal 中)使得第二次和即将到来的对 commit 的调用包括结束时间戳和第二次提交和第一次提交之间的持续时间.
这并不真正适合我当前的用例,我对事件创建和提交调用之间的时间不感兴趣。
在我看来,如果你总是实例化新事件并省略调用 begin 你做构造一个没有持续时间的事件 - 但出于性能原因,我宁愿避免由每次生成新事件并限制堆分配。
【问题讨论】: