Recent Posts

PostgreSQL Systemtap example : Customize probe connect and disconnect

1 minute read

背景 本文要讲一下PostgreSQL的定制化探针, 系统自带的探针以后再讲. 源码下过来之后, 在编译前, 我们能看到数据库探针的定义文件在src/backend/utils/probes.d中. probes.h文件是编译时生成的, 所以要添加探针的话, 只需要修改probes.d文件, 本文添加...

Systemtap Formatted output

4 minute read

背景 本文要讲的是Systemtap中的格式话输出函数 : print, println, printf, printd, printdln, sprint, sprintf. 9.1 print print函数可用于打印输出任何类型, General syntax: print ...

Systemtap Statistics (aggregates) Data Type

6 minute read

背景 统计类型在以前写的几篇BLOG进行过述过. 可参考 : http://blog.163.com/digoal@126/blog/static/16387704020138310438924/ http://blog.163.com/digoal@126/blog/static/163877040201...

Systemtap Associative array Data Type

4 minute read

背景 数组变量在stap启动时以哈希表形式初始化, 在handler中使用数组时不需要再动态创建. Associative arrays are implemented as hash tables with a maximum size set at startup. Associative a...

Systemtap Statement types

9 minute read

背景 本文要讲的是systemtap中的语句类型, 例如在循环中使用的break, continue, 在handler中使用的next, 函数中使用的return, 等. Statement types Statements enable procedural control flow within f...

Systemtap Preprocessor macros

2 minute read

背景 上一篇讲了预处理阶段的条件预编译, 本文要讲的也是stap预处理阶段的事务: 宏定义. 宏定义在stap中算是个实验特性, 前面我们提到的规则表达式匹配操作也是实验特性. 另外要注意宏定义的顺序, 它在条件预编译前完成. 所以如果宏定义出错的话不会进行后面的条件预编译解析. 宏定义类似C里面的...

Systemtap Language elements - 1

9 minute read

背景 1. 标识 变量名, 函数名的命名规则 : 由数字, 字母, 下划线, $ 符号组成. 不能以数字开头. $符号开头的变量名用来表示被跟踪的源码中的变量. 其他开头的变量名用来表示stap脚本中的变量名或函数名. 2. 数据类型 The SystemTap language inclu...