博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安装火焰图生成工具
阅读量:6340 次
发布时间:2019-06-22

本文共 1633 字,大约阅读时间需要 5 分钟。

  hot3.png

一 准备

查看内核版本

uname -a

下载内核开发补丁

http://debuginfo.centos.org/6/x86_64/  CentOS系统可以从链接里找自己对应内核版本的补丁

以我虚拟机威力需要下载如下三个包

kernel-debug-debuginfo-2.6.32-573.el6.x86_64.rpm

kernel-debuginfo-2.6.32-573.el6.x86_64.rpm

kernel-debuginfo-common-x86_64-2.6.32-573.el6.x86_64.rpm

安装

    1.装rpm包

  rpm -ivh *  yum install systemtap

    2.安装openresty

        重新编译openresty,打开debug选项

    3.下载Flame-Graphic生成包

       

二. 使用

1.测试systemtap是否安装成功

# stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'Pass 1: parsed user script and 103 library script(s) using 201628virt/29508res/3144shr/26860data kb, in 10usr/190sys/219real ms.Pass 2: analyzed script: 1 probe(s), 1 function(s), 3 embed(s), 0 global(s) using 296120virt/124876res/4120shr/121352data kb, in 660usr/1020sys/1889real ms.Pass 3: translated to C into "/tmp/stapffFP7E/stap_82c0f95e47d351a956e1587c4dd4cee1_1459_src.c" using 296120virt/125204res/4448shr/121352data kb, in 10usr/50sys/56real ms.Pass 4: compiled C into "stap_82c0f95e47d351a956e1587c4dd4cee1_1459.ko" in 620usr/620sys/1379real ms.Pass 5: starting run.read performedPass 5: run completed in 20usr/30sys/354real ms.

2. 画图

#!/bin/bashpid=$1t=$2filepath=$(cd "$(dirname "$0")"; pwd)echo ${filepath}cd ${filepath}./nginx-systemtap-toolkit-master/ngx-sample-lua-bt -p ${pid} --luajit20 -t ${t} > result/tmp.bt./nginx-systemtap-toolkit-master/fix-lua-bt result/tmp.bt > result/flame.bt./FlameGraph-master/stackcollapse-stap.pl result/flame.bt > result/flame.cbt./FlameGraph-master/flamegraph.pl result/flame.cbt > result/flame.svgbash /opt/flamegraph/make_svg.sh 29857 60 # 执行脚本,指定nginx其中一个线程pid,和脚本执行时间

参考链接:

转载于:https://my.oschina.net/MaTech/blog/639999

你可能感兴趣的文章
安卓新标准出台_告别乱弹窗_你的手机真会省电么?
查看>>
hdu1384Intervals(差分约束)
查看>>
python 字符编码
查看>>
269D Maximum Waterfall
查看>>
C++11 多线程
查看>>
关于MvcMusicStore购物车中移除功能不起作用
查看>>
统一项目管理平台(UMPlatForm.NET)-第3章 软件安装、配置、运行方法
查看>>
计算机网路知识的简单介绍
查看>>
sed-加速你在Linux的文件编辑
查看>>
HttpServer发送数据到kafka
查看>>
phpcms站---去除域名绑定目录中的HTML
查看>>
2017-5-3 打印控件、MDI 窗体容器
查看>>
20155303 2016-2017-2 《Java程序设计》第九周学习总结
查看>>
一次很失败的抄底
查看>>
数据结构C++(10)二叉树——链表实现(linkBinaryTree)
查看>>
利用Condition实现多线程交替执行
查看>>
里氏替换原则(设计模式原则2)
查看>>
lamp一键安装
查看>>
解决“iOS 7 app自动更新,无法在app中向用户展示更新内容”问题
查看>>
OpenCV——Haar-like特征
查看>>