章老师,
你好,实时分析lua性能的工具非常棒,我已经离不开他了,但是换到Luajit 2.1后好像无法使用了。不太清楚luajit2.1是否可以获取到火焰图?
我的系统:
ubuntu 12.04
uname -r
3.8.0-38-generic
我用openresty 1.5.11.1 和 1.5.12 rc3 都测试了,结果一样,如下:
我用
./sample-bt -p pid -t 5 -u > n.bt
对nginx查看火焰图应该是正常的,能显示出函数名,采取的样本数也正常,也像火焰。
ngx-sample-lua-bt 看文档的意思,这个是不是不能用于luajit 2.1?总之,这个运行没有结果,有时直接报错nginx进程就退出了:
ERROR: utrace_set_events returned error -114 on pid 3864
WARNING: task_finder inode-uprobes callback for task 3864 failed: -22
./stapxx/samples/lj-lua-stacks.sxx --arg time=5 --skip-badvars -x pid > temp.bt
这个运行获取到了采样,但是数量很少,100%的cpu只有100多个,堆栈都是笔直的,不像火焰,有时只有一列笔直的堆栈。
我已安装了linux-image-$(uname -r)-dbgsym,不知是有什么东西未做好,是不是这样使用的?
感谢。