Java 应用程序分析
我正在寻找一个Java代码分析器,我可以用来在生产中分析我的应用程序(它是在后端运行的服务)(所以意味着低昂,它不能减慢我的应用程序)。我主要想要调用树分析,也就是说,如果a()调用b(),然后b()调用c(),那么a()b()和c()花了多长时间,包括和排他性。
已经看过 和 ,但这不是我正在寻找的,因为我无法将生产应用程序绑定到它们,因为这会导致严重的性能问题。jvisualvm
jprofiler
另外,我确实经历了(https://github.com/dropwizard/metrics),但它没有给我一个功能来分析调用树。metrics
Callgrind
(http://valgrind.org/docs/manual/cl-manual.html)类型库是我需要的,因为它提供了调用树分析功能和高级选项,如避免调用周期(递归)。但我不确定Callgrind是否可以用于生产,因为它会在程序终止时转储数据。
任何人都可以建议为java调用树探查器,可以在生产中使用而不会影响性能吗?