我对这个问题很感兴趣并尝试过几件事。
通常,可以使用JProfiler或VisualVM等产品来执行CPU分析并搜索正在调查的方法。
此外,可以使用JETM,CodaHale Metrics或Netflix Servo等库来在应用程序中引入测量点。但是,这种方法的问题在于,对于第三方库,它可能无法工作,因为库希望您在应用程序中引入测量点。这对我来说是最有趣的方法,因为它们引入的代码量很少。
最后但并非最不重要的是,还可以使用基于AOP的方法(例如Spring AOP)来衡量第三方库的特定执行情况。由于项目根本没有使用AOP,我宁愿不为此测量的唯一目的引入新的依赖项。
在我的情况下,例如,我想测量日志记录方法的执行情况,例如JCL Log和log4j Logger实现的混合。我想在Maven Surefire中使用JUnit RunListener并测量我执行的所有单元测试的执行情况。
那么,有什么想法吗?我很感激你的建议。