Systemtap EXP: Trace PostgreSQL iostat per SQL statement 1
背景 本文是一个systemtap例子 , 左右如下 : 跟踪PostgreSQL每条sql产生的 : io请求次数, 次数/s io请求字节数, 字节数/s 跟踪会话产生的总的 : io请求次数, 次数/s io请求字节数, 字节数/s 过滤os cache的读和写, ...
背景 本文是一个systemtap例子 , 左右如下 : 跟踪PostgreSQL每条sql产生的 : io请求次数, 次数/s io请求字节数, 字节数/s 跟踪会话产生的总的 : io请求次数, 次数/s io请求字节数, 字节数/s 过滤os cache的读和写, ...
背景 在生产环境中, 如果服务器比较多, 同时都需要运行一样的stap脚本的话, 有几个弊端, 1. 每台机器都需要相应的内核开发包, debug包等. 2. 每次运行stap 脚本时都需要经历5步骤, 消耗资源. http://blog.163.com/digoal@126/blog/...
背景 stap处理stp时, 分5步进行, 以下取自man stap : 第一步 : The translator begins pass 1 by parsing the given input script, and all scripts (files named *.stp) found in...
背景 在查看stap man手册时, 对手册上所述的stap处理流程的第一部分验证, 发现描述和测试结果不符有1处. 1. 手册上所述stap -R 指定内核版本可以让stap根据指定的内核版本搜索-I 指定目录的相关子目录, 发现这个完全不符. 手册上的描述如下 : PROCESSING Th...
背景 systemtap的.return探针有一个特殊的操作符@entry(), 用于存储该探针的入口处的表达式的值. 例如获取vfs.read.return探针入口处的时间@entry(gettimeofday_ns()), 使用gettimeofday_ns()减去@entry(gettimeofday...
背景 在Systemtap 2.x版本的man stap中看到这样一则说明 foreach (VAR in ARRAY [ limit EXP ]) STMT Loop over each element of the named global array, assigning current key ...
背景 前段时间写过一篇BLOG, 关于在连接数据库以及断开数据库连接时触发的定制PostgreSQL探针, . 感兴趣的朋友可以参见: http://blog.163.com/digoal@126/blog/static/163877040201391123645546/ 本文要讲的也是一个定制化探针的例子...
背景 上一篇BLOG中在测试使用delete删除数组元素中存储的统计信息时出现未删除的BUG. http://blog.163.com/digoal@126/blog/static/163877040201391234023230/ 本文从git上下载最新的2.4版本进行同样场景的测试, 发现这个bug已经不...
背景 在使用systemtap分析数据库单条查询产生系统调用读和写信息时, 发现systemtap统计类型存在的一个BUG. 只要统计类型存储在数组的元素中, 就会触发这个BUG, 直接使用全局变量则不会发生这个BUG. BUG的表现如 : var[1] <<< 123 del...
背景 本文是一个systemtap的例子, 用到上一篇文章中讲到的PostgreSQL定制探针.(数据库连接以及断开连接的探针) http://blog.163.com/digoal@126/blog/static/163877040201391123645546/ 接下来要使用这两个探针, 统计数据库每秒的...