blktrace - 硬盘抓包工具


未知
Linux
C/C++

软件简介

blktrace是一个可以显示block的io详细信息的工具,但他的输出信息太专业了,很难看懂,可以同通过blkiomon、blkparse等工具来查看。

blktrace是块层IO路径监控和分析工具,使用它可以深入了解IO通路,对监控,性能调优都有很大帮助。

1. 架构

blktrace分内核空间和用户空间两部分实现,内核空间里面主要是给块层IO路径上的关键点添加tracepoint,然后借助于relayfs系统特性将收集到的数据写到buffer去,再从用户空间去收集。

用户空间还实现了几个小工具,blkparse,btt,用来分析收集到的数据.

2. 安装

内核空间部分的代码已经集成到主线代码里面去了,可以看看内核代码
block/blktrace.c文件是不是存在,编译的时候把对应的这个trace选项选择上就可以了。

用户空间需要的工具,在ubuntu9.04上直接

sudo apt-get install
blktrace就可以了。安装完成后在/usr/share/doc/blktrace里面有几个pdf文档写的很详细,仔细看看。

3. 实现

主要是看看内核部分里面的代码是怎么实现的

1).
大部分实现代码都在blktrace文件里面。利用tracepoint的特性,注册了一些trace关键点,可以看看Documentation/tracepoint.txt文件。

2). 交互机制利用了relayfs特性,看看Documentation/filesystems/relay.txt.