我正在使用jfr分析一个应用程序 jcmd
工具。有时,当我生成jfr文件时,录制开始的时间比我开始录制的时间要早得多。例如:
jfr录音
我已经搜索了有关此问题的信息,但找到了以下链接:
https://blogs.oracle.com/poonam/clarifying-some-confusion-around-java-flight-recordings
正如这篇博文所提到的,我在jmc事件日志中搜索了事件,但是在开始录制之前,我没有发现任何事件。
所以我的问题是,jfr如何计算“事件开始时间”?
我不知道它是否相关,但我也包括了与一起发送的命令 jcmd
: jcmd 1 JFR.start name=profile settings=profile maxage=10m
几分钟后,我将转储并停止录制:
jcmd 1 JFR.dump name=profile filename=/tmp/recording.jfr jcmd 1 JFR.stop name=profile
非常感谢你的帮助!
1条答案
按热度按时间3df52oht1#
事件开始时间是事件开始的时间。
在某些情况下,事件可能在录制之前开始。例如,
录制a开始
事件开始(开始时间)
录音结束
录制b开始
事件结束(采用结束时间)
录音b结束
录制b将包含事件,因为它在事件结束时写入文件,但开始时间将发生在录制b开始之前。发生这种情况的另一个原因是不同CPU上的时钟之间的偏差。