首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFR事件启动时间

JFR事件启动时间
EN

Stack Overflow用户
提问于 2021-07-14 08:39:57
回答 1查看 127关注 0票数 1

我有定制的JFR事件。我发现RecodedEvent.getStartTime()实际上比创建和提交这个事件的时间晚了几秒钟。那么getStartTime()什么时候显示呢?

在我的例子中,我将当前时间添加到事件中,并在jfr文件解析时读取它。但是我如何在内置的事件中获得它,比如jdk.ExecutionSample。

在内置事件getLong("startTime"),中有一个字段,但是它给出了奇怪的数字,这看起来不像millis中的当前时间。那是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 16:21:22

默认情况下,JFR使用不变的TSC来获取时间戳( System.currentMillis()或System.nanoTime()不使用)。

不变TSC允许JFR具有非常低的卵头,但在某些CPU或某些情况下,时钟可能会漂移。您可以使用命令行标志:

代码语言:javascript
复制
 -xx:-UseFastUnorderedTimeStamps

得到一个更精确的时钟,但在更高的开销。

从event.getLong("startTime")获得的时间是原始的滴答,通常只有当您想要与使用相同计时机制的其他系统进行比较时才有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68374752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档