- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个很长的操作,我想在 JProfiler(或其他建议)中进行分析,但该方法非常递归,因此 CPU View 中的 TreeView 没有太大帮助。它向我显示了这样的 CPU 时间:
beginOperation 100%
|- recursiveMethod 99%
| | - recursiveMethod 98%
| | | - recursiveMethod 97%
| | | | - ...more recursion
| | |- otherMethods 1%
| | - otherMethod 1%
| - otherMethods 1%
您看,recursiveMethod
确实根本不需要任何时间。相反,它占用时间的是 otherMethods
,并且是我想要分析的那些。我的理想 View 将显示 recursiveMethod
的时间接近 0%,而 otherMethods
合并接近 100%。
那么在 JProfiler 中有什么方法可以向上滚动这个 View ,以便我可以更清楚地查看我的 CPU 时间花在了哪里?有没有人对另一个可以执行此操作的分析器有建议?
注意:我使用的是 JProfiler 6,但如果另一个版本可以做到这一点,我可能会升级。
谢谢!
最佳答案
JProfiler 有一个“热点” View ,可用于收集这些类型的性能指标。要访问此 View ,请转到左侧导航栏中的“CPU View ”,“热点”应该是应用程序窗口底部左侧的第二个按钮。 (这些说明基于 JProfiler 5,但我相信这在版本 6 上是相同的)。
您可以按内部网络时间(可能是您要查找的内容)、平均时间和调用进行排序,然后从进行这些昂贵调用的位置开始跟踪调用堆栈。在 View 的顶部,还有一个用于更改“热点类型”的下拉菜单,因此您可以查看 JDBC 查询、调用的 URL 和许多其他选项所消耗的时间。
关于java - jprofiler 或其他 : how do I roll up recursive method calls?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6958656/
我是一名优秀的程序员,十分优秀!