我想在我的应用程序中添加一个选项,最终用户可以在其中开始CPU分析,重现性能问题,停止CPU分析,然后将分析信息作为电子邮件的附件发送给我们的支持团队。我希望我可以使用JVisualVM用于停止和启动分析并返回结果的相同机制。
有人知道JVisualVM是如何做到这一点的吗?它不需要在命令行上设置-agentlib:hprof选项-它使用hprof还是其他机制?
最佳答案
JVisualVM通过使用JMX命令动态添加代理来检测代码。这是不容易实现的。您可能会发现JVisualVM具有API,如果这样的话,我会使用它而不是尝试自己实现。如果它没有公共API,但我怀疑没有,则建议尝试更简单的方法。