SystemTap Errors Introduce
背景 SystemTap的常见错误大致可以分为两类. 一, 解析和语义阶段产生的错误 这类错误发生在systemtap解析stp脚本以及转换成C代码的阶段. 错误举例 1. 语义错误, 错误表现 parse error: expected foo, saw bar 例如,...
背景 SystemTap的常见错误大致可以分为两类. 一, 解析和语义阶段产生的错误 这类错误发生在systemtap解析stp脚本以及转换成C代码的阶段. 错误举例 1. 语义错误, 错误表现 parse error: expected foo, saw bar 例如,...
背景 systemtap 支持user-space的堆信息回溯输出. 使用方法参考 : https://sourceware.org/systemtap/SystemTap_Beginners_Guide/ustack.html 用到stap的 -d MODULE, --ldd选项. 同时需要安装被跟踪...
背景 thread_indent:string(delta:long)是一个非常有用的函数, 通过thread_indent:string(delta:long)可以非常方便的看出函数调用的嵌套以及层次结构. 输出结构为: time offset(microseconds), 进程名, 进程id, n个空格....
背景 SystemTap's flight recorder mode allows you to run a SystemTap script run for long periods and just focus on recent output. The flight recorder m...
背景 今天在pg大会上和一位兄弟聊天的时候了解到他们有大的数据入库需求, 入库文件约300MB每个, 但是导入数据库速度只有约100MB每秒, 即使使用unlogged table也没有多大的提高, 而硬盘拷贝的速度远远不止这个速度. 接下来分析一下原因. 从分析来看, 目前批量数据导入到瓶颈是在数据文件的扩展...
背景 本文介绍一下PostgreSQL动态跟踪环境的搭建, 方便对PG内核动态跟踪感兴趣的童鞋参阅. 环境准备 : 一准备systemtap环境 : 首先要确定内核版本 [root@db-172-16-3-150 ~]# uname -r 2.6.32-358.el6.x86_64 ...
背景 在stap脚本中, 从探针处获取变量的值方法比较多, 可以获取的变量值包括本地变量, 全局变量, 甚至其他代码中的全局变量等. 具体的获取变量的用法可参考 : http://blog.163.com/digoal@126/blog/static/16387704020138113455697/ 使用@...
背景 最近在测试PostgreSQL checkpoint__done以及buffer__sync__done动态跟踪时, 输出这个探针的变量出现错误, 详见 http://blog.163.com/digoal@126/blog/static/163877040201391622459221/ 已经在pgs...
背景 function::format_ipaddr — Returns a string representation for an IP address function::ip_ntop — Returns a string representation for an IPv4 address ...
背景 Tapset这本手册很全, 罗列了大量的函数, 探针别名, 本文抽取一些常用到的函数, 方便查找 : function::asmlinkage — Mark function as declared asmlinkage asmlinkage()函数在kprobe探针中常用, 在取函数变量前调用,...