【发布时间】:2017-07-12 10:06:45
【问题描述】:
我要解决的最初问题是查看跨多个线程的方法的所有子调用的持续时间。但是我用一个小型应用程序复制了我的问题,其中我有一个线程执行一个大部分按预期等待的方法。
如您所见,我对 pool-1-thread-2 执行方法“com.sum.$Proxy10.uploadWaiting()”特别感兴趣 所以我确定这个方法在 getConnection() 中花费了大部分“WALL TIME”,它下降到 Object.wait(long) 但是我想看看在 com.sum.$Proxy10.uploadWaiting() 中的 getConnection() 中花费的 WALL TIME 的确切百分比是多少。 我去“方法列表”->我的方法->合并的被调用者
如您所见,getConnection() 仅占我方法总时间的 1%。而且我已经将我的采样配置为对所有方法进行挂壁时间。正如您在屏幕截图中看到的那样,这些都标记为 [Wall Time]。我正在使用 Yourkit 2015 build 15052。
问题:为什么 getConnection() 不显示 90% 之类的东西?还是只计算 CPU Time 而不是 Wall Time?
【问题讨论】: