我正在尝试将Java内存分析添加到我的devops管道中。为此,我使用Eclipse MAT命令行脚本。一旦我提供hprof文件作为输入,它就会生成可疑报告。我需要解析这个HTML报告,并在此基础上做出决定。这很麻烦,而且解析也不是结构化的。我想要XML/JSON报告,或者想看看Eclipse MAT是如何生成实际报告的。如果我发现我可以得到代码并根据我的需求进行定制。对此有何建议。
发布于 2021-09-10 07:45:40
Eclipse Memory Analyzer是开源的,所有代码都在这里:https://git.eclipse.org/c/mat/org.eclipse.mat.git
泄漏的可疑代码位于https://git.eclipse.org/c/mat/org.eclipse.mat.git/tree/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/FindLeaksQuery.java和https://git.eclipse.org/c/mat/org.eclipse.mat.git/tree/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/LeakHunterQuery.java中
泄漏可疑报告是干净的HTML,它通过了HTML验证,这将有助于解析。
您对XML/JSON报告的请求是合理的,但目前MAT还没有提供。可以使用呈现扩展点http://help.eclipse.org/latest/topic/org.eclipse.mat.ui.help/doc/org_eclipse_mat_report_renderer.html添加一个。已经有HTML、CSV和TXT渲染器,因此可以添加JSON扩展点。然后就如何在JSON中表示树和表,以及如何将HTML从泄漏嫌疑报告的黄色框转换为JSON做出设计决策。
据我所知,还有一些人想要一份JSON格式的报告,如果你打算帮助编写代码,你可以在论坛https://www.eclipse.org/forums/index.php?t=thread&frm_id=186或Bugzilla或者开发者邮件列表上,在MAT社区更正式地关注它。
https://stackoverflow.com/questions/68706401
复制相似问题