### Event 结构 - Event 大小 - Event ID - 时间戳 - 持续时间 - 相关线程 ID - 相关堆栈 ID 每个 Event 还会有自己的 Payload,承载自己要采集的数据。但不是每个 Event 都填充上面的字段,只是结构里面有,并不会采集。 ### Event采集的公共配置 - enabled:是否启用这个 Event 的采集,true/false - cutoff:是否截断,例如:1d、1h、1m、1s、1ms、1ns,0=不截断 - stackTrace:是否启用堆栈跟踪,true/false - period:采集周期 + beginChunk:在每一个 Data Chunk 写满另起一个的时候,立刻采集一次 + everyChunk:在每一个 Data Chunk 写到占用一半空间限制的时候,立刻采集一次 + endChunk:在每一个 Data Chunk 写满的时候,立刻采集一次 + 或者配置具体时间,例如:1d、1h、1m、1s、1ms、1ns - threshold:Event 持续时间超过这个阈值才会采集,例如:1d、1h、1m、1s、1ms、1ns Event采集详细配置,JDK自带两个模板,在 $JAVA_HOME/lib/jfr 目录下,里面配置格式是一个xml文件,取其中一个配置举个例子,例如: ```xml true false 0 ns ``` 这个就是 OldObject 采集 Event 的配置,这里配置为: - 启用这个Event采集 - 不采集堆栈 - 不截断 你也可以加上 period 和 threshold 配置,但对这个 Event 没啥效果。**这里有个 control 属性,接下来会提到。** ### 自定义配置