Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5783311
  • 博文数量: 291
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7924
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 14:28
个人简介

阿里巴巴是个快乐的青年

文章分类

全部博文(291)

文章存档

2018年(21)

2017年(4)

2016年(5)

2015年(17)

2014年(68)

2013年(174)

2012年(2)

分类: LINUX

2013-08-19 19:49:28

        前面介绍过用gprofValgrind之Callgrind来分析程序性能,但是文本格式的输出报告,对于小估摸程序而言可能已经够了,但是对于大估摸程序而言,就显得有点不尽人意了,如果能够实现分析结果可视化,那将会比较惬意。
        实际上,用python和dot就能达到可视化的要求。dot是graphviz提供的一个命令工具,其安装非常简单:
        #yum install graphviz
        此外,还需要下载脚本以将文本格式的性能数据报告转换为图形化的函数调用时间图。
        点击上面连接下载gprof2dot.py脚本后,需要改变其为可执行权限,并将该脚本添加到$PATH路径中的任意目录下(比如:/usr/bin),以便于直接在终端下执行gprof2dot.py:
        #cp gprof2dot.py /usr/bin
        #cd /usr/bin
        #chmod +x gprof2dot.py
        所有步骤都妥当后,就可以开始转换了:
        #python gprof2dot.py log.txt | dot -Tsvg -o log.svg
        其中,log.txt为前文中gprof或者Valgrind-Callgrind输出的文本报告,log.svg就是图形化结果:
        
        很帅吧
        当然还有更快捷的方式来生成图形结果:
        #gprof ./test | gprof2dot.py | dot -Tsvg -o log.svg
        或者
        #gprof2dot.py -f callgrind callgrind.out.xxx |dot -Tsvg -o log.svg


        
     
阅读(4653) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

scq2099yt2013-08-19 19:49:36

文明上网,理性发言...