【发布时间】:2020-10-31 00:52:12
【问题描述】:
Java Flight Recorder 现在是 OpenJDK 11 的一部分,并提供自定义事件的使用。 成功录制后,我想重用事件中的信息(尤其是我自己的自定义事件),但不知何故我无法读取事件的字段内容。 我只能看到注释、字段的名称和类型。
有人知道这是否真的可行吗?
JFR 有一个consumer package,它允许您从文件中读取信息。我已经应用了一些功能。
我已经尝试过的
首先,我访问一个事件的所有字段:
event.getFields();
然后我遍历字段并以几种不同的方式访问它们的值:
a) eventField.getDescriptor();
b) eventField.getContentType();
只看他们的名字,显然他们都不会给我内容。不幸的是,我找不到任何可以提供帮助的功能。
我也试过了
我还尝试了一个非常直接的想法:以调试方式阅读内容。我认为它可以让我深入了解如何以编程方式提取这些信息。
不幸的是,JFR 设法以某种方式对他们的记录进行编码,在调试过程中,人们无法读取信息,直到以编程方式提取它们并将其作为局部变量(例如:地图)。
供您参考,我一直在使用this 指令来实现自定义事件。
【问题讨论】:
标签: java field custom-events openjdk-11 jfr