【问题标题】:jprofiler or other: how do I roll up recursive method calls?jprofiler 或其他:如何汇总递归方法调用?
【发布时间】:2011-10-20 23:32:33
【问题描述】:

我有一个很长的操作想要在 JProfiler 中进行分析(或其他建议),但该方法非常递归,因此 CPU View 中的树形视图并没有太大帮助。它向我显示 CPU 时间是这样的:

beginOperation 100%
|- recursiveMethod 99%
| | - recursiveMethod 98%
| | | - recursiveMethod 97%
| | | | - ...more recursion
| | |- otherMethods 1%
| | - otherMethod 1%
| - otherMethods 1%

你看,recursiveMethod 真的不需要任何时间。相反,它的otherMethods 占用了时间,并且是我想要描述的那些。我的理想视图会显示 recursiveMethod 的时间接近 0%,而 otherMethods 的组合时间接近 100%。

那么在 JProfiler 中是否有任何方法可以将这个视图向上滚动,以便我可以更清楚地查看我的 CPU 时间花费在哪里?有没有人建议另一个可以做到这一点的分析器?

注意:我使用的是 JProfiler 6,但如果其他版本可以这样做,则可能会升级。

谢谢!

【问题讨论】:

    标签: java recursion profiling rollup jprofiler


    【解决方案1】:

    JProfiler 有一个“热点”视图,可用于收集这些类型的性能指标。要访问此视图,请转到左侧导航中的“CPU 视图”,“热点”应该是应用程序窗口底部左侧的第二个按钮。 (这些说明基于 JProfiler 5,但我相信在版本 6 上也是如此)。

    您可以按固有时间(可能是您要查找的时间)、平均时间和调用次数进行排序,然后从进行这些昂贵调用的位置开始跟踪调用堆栈。在视图的顶部,还有一个用于更改“热点类型”的下拉菜单,因此您可以查看 JDBC 查询、调用的 URL 和许多其他选项所消耗的时间。

    【讨论】:

    • 谢谢。热点给了我正在寻找的汇总。
    猜你喜欢
    • 2016-03-02
    • 2011-02-18
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多