winlin 15d4993cc3 slowdown the cpu usage for srs to calc connections when too many connections. 0.9.180 10 năm trước cách đây
..
build_gprof2dot.sh c7a4dd8863 move wiki images to srs.release 10 năm trước cách đây
gprof2dot.py 42ad264182 add gprof files and dot files 10 năm trước cách đây
graphviz-2.36.0.zip 179e2a2bba use zip format 10 năm trước cách đây
readme.txt 15d4993cc3 slowdown the cpu usage for srs to calc connections when too many connections. 0.9.180 10 năm trước cách đây

readme.txt

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-gprof
脚本会加入编译参数"-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