制作火焰图(纯笔记)

简介:

安装systemtap

按照官网说的安装:http://sourceware.org/systemtap/wiki/SystemTapOnCentOS

我的操作系统是centos

uname -rm:

2.6.18-164.el5xen x86_64

yum install systemtap

wget http://debuginfo.centos.org/5/x86_64/kernel-debuginfo-2.6.18-164.el5.x86_64.rpm

wget http://debuginfo.centos.org/5/x86_64/kernel-debuginfo-common-2.6.18-164.el5.x86_64.rpm

[root@test34x-nova ~/software]# rpm -Uhv kernel-debuginfo-*rpm 
warning: kernel-debuginfo-2.6.18-164.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897 
Preparing...                ########################################### [100%] 
   1:kernel-debuginfo-common########################################### [ 50%] 
   2:kernel-debuginfo       ########################################### [100%]

测试是否安装成功

stap -ve 'probe begin { log("hello world") exit() }'

提示:

Checking "/lib/modules/2.6.32-279.el6.x86_64/build/.config" failed with error: 没有那个文件或目录

Incorrect version or missing kernel-devel package, use: yum install kernel-devel-2.6.32-279.el6.x86_64

下载Flame Graph

https://github.com/brendangregg/FlameGraph

比如我放在这个目录里:

/home/yejianfeng/software/FlameGraph-master

下面拿nginx的一个模块来进行测试

http://www.cnblogs.com/yjf512/archive/2013/06/13/3133569.html

这里有个自己写的mysecret2的模块

安装配置好,确保能访问

Image(15)

写一个systemtrap脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
global  s;
global  quit = 0;
probe timer.profile {
if (pid() == target()) {
if  (quit) {
foreach  (i in s-) {
print_ustack(i);
printf( "\t%d\n" , @ count (s[i]));
}
exit ;
} else  {
s[ubacktrace()] <<< 1;
}
}
}
probe timer.s(20) {
quit = 1;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<P>[root@test34x-nova ~/handcode]# stap --ldd -d
/home/yejianfeng/nginx/nginx/sbin/nginx --all-modules -D MAXMAPENTRIES=256 -D
MAXACTION=20000 -D MAXTRACE=100 -D MAXSTRINGLEN=4096 -D MAXBACKTRACE=100 -x
26150 /home/yejianfeng/handcode/ngx.stp --vp 0001 &gt;
/home/yejianfeng/ngx.out&nbsp;
<P>WARNING: never-assigned local variable 'exit'  (alternatives: i s quit):
identifier 'exit'  at /home/yejianfeng/handcode/ngx.stp:10:4
<P>&nbsp;source: exit ;
<P>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^
<P>WARNING: Eliding side-effect-free expression : identifier 'exit'  at :10:4
<P>&nbsp;source: exit ;
<P>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^
<P>WARNING: missing unwind/symbol data for  module 'kernel'
<P>WARNING: missing unwind/symbol data for  module 'uprobes'
<P>Pass 4: compiled C into "stap_7ee66ba3cf5480d819b30e4f49bf3bb1_3633.ko"  in
5560usr/1320sys/9525real ms.
<P>WARNING: /usr/bin/staprun exited with status: 1
<P>Pass 5: run failed. &nbsp;Try again with another '--vp 00001'  option.</P>

 

 

纯笔记。。。搞了半天没搞出来。。。MMD。。。水平太搓了。。。




本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/p/3374014.html,如需转载请自行联系原作者


相关文章
|
Web App开发 缓存 网络安全
Mac 快速查找快捷键command+f失效解决办法
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/81214817 最近 Chrome 经常的遇到 Command + F 快捷键失效的问题,真是日了狗了。
4157 0
|
网络协议
Wireshark抓包分析/TCP/Http/Https及代理IP的识别
前言   坦白讲,没想好怎样的开头。辗转三年过去了。一切已经变化了许多,一切似乎从没有改变。   前段时间调研了一次代理相关的知识,简单整理一下分享之。如有错误,欢迎指正。 涉及 Proxy IP应用 原理/层级wireshark抓包分析 HTTP head: X-Forwarded-For/ Proxy-Connection/伪造  X-Forwarded-For/ 以及常见的识别手段等几个方面。
4477 0
|
应用服务中间件 nginx C语言
|
定位技术 搜索推荐 机器学习/深度学习
地理文本处理技术在高德的演进(上)
本文就高德地图搜索的地理文本处理,介绍相关的技术在过去几年的演进。我们将选取一些点分上下两篇进行介绍,上篇主要介绍搜索引擎中一些通用的query分析技术,包括纠错,改写和省略。
|
机器学习/深度学习 自然语言处理 算法
地图POI类别标签体系建设实践
导读 POI是“Point of interest”的缩写,中文可以翻译为“兴趣点”。在地图上,一个POI可以是一栋房子、一个商铺、一个公交站、一个湖泊、一条道路等。在地图搜索场景,POI是检索对象,等同于网页搜索中的网页。
|
Python
pandas使用HYPERLINK追加写入超链接-url、文件、图片
pandas使用HYPERLINK追加写入超链接-url、文件、图片 使用HYPERLINK即可达到目的,可以写url、文件、图片、各种你自己能访问的路径 注意:HYPERLINK里面的字符长度不能超过255,否则无法写入超链接
799 0
pandas使用HYPERLINK追加写入超链接-url、文件、图片
|
存储 数据可视化 Java
SpringBoot实现quartz定时任务可视化管理
在实际框架或产品开发过程中,springboot中集成quarzt方式基本是以job和trigger的bean对象方式直接硬编码完成的,例如以下代码示例。对于系统内定义的所有定时任务类型,具体执行类,执行策略,运行状态都没有一个动态全局的管理,所有决定将quartz做成可视化配置管理,便于统一管理,也降低了使用门槛,只需要关心job类的实现即可
589 0
|
监控 网络协议 Perl
[原创]结合案例深入解析orphan socket产生与消亡(一)
本文看点:结合服务器运行案例和TCP代码分析orphan socket产生与消亡以及对系统的影响。精彩的部分在(二)细节分析章节。 ##问题背景 tengine服务器发生过多次orphan socket数量很多的情况,例如有一次使用ss -s命令查看: ``` $ss -s T
9617 0

热门文章

最新文章

下一篇
开通oss服务