blkparse - produce formatted output of event streams of block devices

The blkparse utility will attempt to combine streams of events for various devices on various CPUs, and produce a formatted output of the event information. Specifically, it will take the (machine-readable) output of the blktrace utility and convert it to a nicely formatted and human-readable form …

more ...

blktrace - generate traces of the I/O traffic on block devices

blktrace is a block layer IO tracing mechanism which provides detailed information about request queue operations up to user space. There are three major components: a kernel component, a utility to record the i/o trace information for the kernel to user space, and utilities to …

more ...

btrace - perform live tracing for block devices

btrace can show detailed info about what is happening on a block device io queue. This is valuable for diagnosing and fixing performance or application problems relating to block layer io.

The btrace script provides a quick and easy way to do live tracing of block …

more ...

blktrace userspace tools - Initial commit

  • d0ca268 Initial commit of blktrace

Inital commit of blktrace userspace tools 包含下列几个文件:

    ├── blkparse.c
    ├── blktrace.c
    ├── blktrace.h
    ├── Makefile
    └── README

README

    % blktrace <dev>
    --- run task to generate load to be traced ---
    <SIGINT to kill>
    --- Generates:
        <dev>_dat.[0..ncpus] : Contains binary pdu data
        <dev>_out.[0..ncpus] : Contains binary trace …
more ...

blktrace - early version of kernel part

blktrace.c 实现了 message 的填充(包括 message header 的构造 - struct blk_io_trace)并通过 relayfs 传递 message 到 userspace;blktrace_api 封装对 __blk_add_trace 的调用,Block IO layer 通过调用这些 APIs …

more ...