openresy火焰图

1、环境:

yum -y install elfutils-devel gettext glibc-devel

wget https://sourceware.org/systemtap/ftp/releases/systemtap-3.3.tar.gz

tar zxvf systemtap-3.3.tar.gz

cd systemtap-3.3

./configure; make; make install

执行stap -ve 'probe begin { log("hello systemtap!") exit() }'

如果提示:Checking "/lib/modules/2.6.32-431.el6.x86_64/build/.config" failed with error: No such file or directory

http://rpm.pbone.net/index.php3/stat/4/idpl/24668468/dir/scientific_linux_6/com/kernel-devel-2.6.32-431.el6.x86_64.rpm.html

下载相应的内核版本 kernel-devel-2.6.32-431.el6.x86_64.rpm

 rpm -ivh kernel-devel-2.6.32-431.el6.x86_64.rpm

 ln -f -s  /usr/src/kernels/2.6.32-431.el6.x86_64/ /lib/modules/2.6.32-431.el6.x86_64/build

如果提示:Pass 5: run completed in 0usr/10sys/300real ms.表示成功

wget http://debuginfo.centos.org/6/x86_64/kernel-debuginfo-common-x86_64-2.6.32-431.el6.x86_64.rpm

rpm -ivh kernel-debuginfo-common-x86_64-2.6.32-431.el6.x86_64.rpm

wget http://debuginfo.centos.org/6/x86_64/kernel-debuginfo-2.6.32-431.el6.x86_64.rpm

rpm -ivh kernel-debuginfo-2.6.32-431.el6.x86_64.rpm

2、下载:

http://xbsura.com/2016/10/12/openresty%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E5%B0%8F%E7%BB%93/

下载最新的openresty调试工具,然后解压到/opt即可。

wget https://github.com/brendangregg/openresty-systemtap-toolkit/archive/master.zip --no-check-certificate

下载最新的FlameGraph,然后解压到/opt即可。

wget https://github.com/brendangregg/FlameGraph/archive/master.zip --no-check-certificate

ps -ef|grep nginx

3、测试:

cd openresty-systemtap-toolkit

./ngx-sample-lua-bt -p 15010 --luajit20 -t 5 > tmp.bt (-p 是要抓的进程的pid --luajit20|--luajit51 是LuaJIT的版本 -t是探测的时间,单位是秒, 探测结果输出到tmp.bt)

./fix-lua-bt tmp.bt > flame.bt (处理ngx-sample-lua-bt的输出,使其可读性更佳)

在FlameGraph下

./stackcollapse-stap.pl flame.bt > flame.cbt

./flamegraph.pl flame.cbt > flame.svg

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值