分析可视化工具?

时间:2020-03-05 18:50:59  来源:igfitidea点击:

我需要显示从深度嵌入式CPU中提取的性能分析信息,并以团队中其他开发人员能够采取行动的方式进行展示。分析数据是每个函数进入和退出时循环计数器的快照,因此我们有一个调用图,标注了亚微秒级的计时精度。我不希望像gprof那样仅转储函数名称和计时,我正在寻找更易于理解和采取行动的东西。

是否有人在任何平台上使用了特别出色的性能分析工具,从而可以轻松识别要钻取的代码区域?我正在寻找一个鼓舞人心的示例来遵循如何显示调用图,但是,如果有一个具有输入格式的好的工具,我可以按摩我的数据以使用它。我可以使用Windows,Linux或者MacOS X来运行可视化工具。

IBM DeveloperWorks上的概要分析文章将我引到了GraphViz,并在其站点上提供了概要分析示例。除非这里有其他建议,否则我将使用GraphViz并模拟其性能分析示例。

解决方案

回答

我建议我们为OProfileUI删除gprof + graphviz,除非我们别无选择。

回答

IE 8b2为javascript提供了调用树的简单显示,我相信它比GraphViz图表有用得多。

GraphViz图表非常适合可视化调用树,但很难可视化计时问题(恕我直言,是更重要的数据)。

*编辑:我认为值得指出的是,建议使用的所有工具都使用基于网格的树来可视化调用树。这样一来,我们就可以看到调用结构,而不会像我相信GraphViz图表那样淡化时序数据。

回答

JetBrains dotTrace(有一个试用版演示可以玩)。它可以组织调用堆栈,并可以轻松地找到故障点。也具有很多过滤功能。导航和查找所需内容非常容易。

回答

" GTKWave"怎么样?
但是我们必须在代码中插入探针。

回答

可视化分析数据的另一个简洁工具是gprof2dot.py python脚本。
它可以用于可视化几种不同的格式:"这是一个Python脚本,用于将prof,gprof,oprofile,Shark,AQtime和python分析器的输出转换为点图。"输出结果如下所示:

http://jrfonseca.googlecode.com/svn/wiki/gprof2dot_small.png

回答

Valgrind会进行概要分析(以及更多),并且提供用于可视化的GUI。

回答

我用Kprof
http://kprof.sourceforge.net/

它很老,但是我从来没有找到更好的工具来检查gprof的结果。