This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
gprof图形化输出工具: gprof2dot.py graphviz-2.18.tar.gz build_gprof2dot.sh
dot:
http://www.graphviz.org/
http://www.graphviz.org/Download_source.php
graphviz-2.18.tar.gz 绘图工具
build_gprof2dot.sh 编译graphviz, 命令为dot。
要求是sudoer, 需要sudo make install。
gprof2dot.py:
将gprof的日志绘图。
使用方法:
0. 若需要图形化, 编译dot:
cd 3rdparty/gprof && bash build_gprof2dot.sh
1. srs配置时:
./configure --with-pg
脚本会加入编译参数"-pg -lc_p", gcc -g -pg -lc_p -c xxx -o xxx.o, 即在configure中打开 Performance="-pg -lc_p"
链接时,加入链接选项"-pg", 否则无法工作: gcc -pg -o srs xxxx.o, 即在configure中打开 PerformanceLink="-pg"
2. 编译和启动程序: make && ./objs/srs -c conf/srs.conf
退出程序, 按CTRL+C, 可以看到生成了gmon.out, 这个就是性能的统计数据。
3. gprof生成报表:
gprof -b ./objs/srs gmon.out > gprof.srs.log
4. 将报表生成图片:
./3rdparty/gprof/gprof2dot.py gprof.srs.log | dot -Tpng -o ~/winlin.png
缩写语句:
# 生成 ~/winlin.log ~/winlin.png
rm -f gmon.out; ./objs/srs -c conf/srs.conf
# 用户按CTRL+C
file="winlin";gprof -b ./objs/srs gmon.out > ~/${file}.log; ./3rdparty/gprof/gprof2dot.py ~/${file}.log | dot -Tpng -o ~/${file}.png
备注:
其实gprof生成的日志就可以看, 不一定要图形化。
也就是dot和gprof2dot都不用执行。
参考: http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html