Recent Posts

SystemTap Errors Introduce

10 minute read

背景 SystemTap的常见错误大致可以分为两类. 一, 解析和语义阶段产生的错误 这类错误发生在systemtap解析stp脚本以及转换成C代码的阶段. 错误举例 1. 语义错误, 错误表现 parse error: expected foo, saw bar 例如,...

Systemtap Function thread_indent:string(delta:long)

less than 1 minute read

背景 thread_indent:string(delta:long)是一个非常有用的函数, 通过thread_indent:string(delta:long)可以非常方便的看出函数调用的嵌套以及层次结构. 输出结构为: time offset(microseconds), 进程名, 进程id, n个空格....

SystemTap Flight Recorder Mode

3 minute read

背景 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...

PostgreSQL bulk COPY load Bottleneck by extend lock waiting

14 minute read

背景 今天在pg大会上和一位兄弟聊天的时候了解到他们有大的数据入库需求, 入库文件约300MB每个, 但是导入数据库速度只有约100MB每秒, 即使使用unlogged table也没有多大的提高, 而硬盘拷贝的速度远远不止这个速度. 接下来分析一下原因. 从分析来看, 目前批量数据导入到瓶颈是在数据文件的扩展...

PostgreSQL Dynamic Tracing using systemtap env prepare

5 minute read

背景 本文介绍一下PostgreSQL动态跟踪环境的搭建, 方便对PG内核动态跟踪感兴趣的童鞋参阅. 环境准备 : 一准备systemtap环境 : 首先要确定内核版本 [root@db-172-16-3-150 ~]# uname -r 2.6.32-358.el6.x86_64 ...

SystemTap Tapset: common used functions - 2

6 minute read

背景 function::format_ipaddr — Returns a string representation for an IP address function::ip_ntop — Returns a string representation for an IPv4 address ...

SystemTap Tapset: common used functions - 1

5 minute read

背景 Tapset这本手册很全, 罗列了大量的函数, 探针别名, 本文抽取一些常用到的函数, 方便查找 : function::asmlinkage — Mark function as declared asmlinkage asmlinkage()函数在kprobe探针中常用, 在取函数变量前调用,...