我看到了你的下面的话题。 我也试图做类似的事情但不确定哪个api会给出最好的结果: 你可以建议你使用哪一个吗?
使用JVMTI提供的MethodEntry和MethodExit事件挂钩如何测量在Java中执行的方法的时间?
简单来说就是:time2 - time1但我看到的问题,如何区分不同的方法?有一个methodID,但递归调用呢?方法在打开后何时关闭?
我应该比较堆栈跟踪吗?什么是有意义的数据结构来跟踪输入的方法?像Map这样的东西?
答案 0 :(得分:2)
使用MethodEntry和MethodExit事件来记录方法时序可能不是一个很好的策略,因为使用这些事件将严重中断时间。你可能希望所有方法的解析都是平等的,你仍然可以得到相对的时间,但我不确定是不是这样。
更好的策略是使用字节码检测来跟踪这些事件。