跳过标题
上一页
上一页
 
下一页
下一页

飞行记录器数据流

图:Java 飞行记录器数据流显示数据在 JFR 中的流动方式。

Java 飞行记录器数据流

后面是此图的说明
“Java 飞行记录器数据流”的说明

数据由 JVM (通过内部 API) 和 Java 应用程序 (通过飞行记录器 API) 发送到飞行记录器。飞行记录器运行时将此数据存储在小型的线程本地缓冲区中,这些缓冲区已满时会将数据刷新到内存中的全局缓冲区。飞行记录器在永久存储模式下运行时,内存的全局缓冲区中的数据将在这些缓冲区已满时写入到磁盘中。

不同缓冲区之间不会发生信息重叠。具体数据块将只在内存或磁盘上可用,但永远不会同时可用。这样会有以下隐患:

在一些极端情况下,HotSpot 将丢弃事件顺序,以便不阻止 JVM 继续运行。此时将放弃无法快速写入磁盘的任何数据。发生这种情况时,记录文件中将包含受影响时段的相关信息。此信息也会记录到 JVM 的日志记录工具中。