限制Visual VM中的分析
我正在尝试新JDK附带的VisualVM程序。 我正在对它进行分析,并试图仅在特定包中的方法上分析CPU。
我在“仅配置文件类”中添加了以下内容:
jig.*
夹具是我想要的包装。 不幸的是,我得到了不在该包或任何子包中的其他方法的结果。
我可以重现您的问题的唯一方法是,如果我选中“Profile new Runnables”框。 当我离开该选项时,探查器会选择以新线程开始的代码,即使该代码不符合过滤条件。 我想这个function还不清楚。
在进行性能分析活动之前,应确保取消选中该框。 请注意,如果未经检查,这可能意味着您不会看到任何自己的代码的配置文件信息恰好作为单独的线程启动。 (但我认为你很可能没有这样做,所以你没有什么值得关注的。)
实际上有一个打开的错误:
https://java.net/jira/browse/VISUALVM-546
我完全同意提交者(以及您对VisualVM的“奇怪”行为的失望)。 即使选中“Profile new Runnables”,我也认为filter必须得到尊重。
分析它是一项重要任务,特别是对于通常部署在应用程序服务器上的大型项目,其中通用方式(和正确方式)具有后台任务线程和服务用户请求。
我邀请所有人投票给VisualVM开发人员注意。
您可以在“性能分析结果”列表底部的文本字段中输入过滤条件,这应该可以解决问题。