blkiomon - monitor block device I/O based o blktrace data
- blktrace.git
- man blkiomon
blkiomon is a block device I/O monitor. It periodically generates per-device request size and request latency statistics from blktrace data. It provides histograms as well as data that can be used to calculate min, max, average and variance. For this purpose, it consumes D and …
more ...iowatcher - Create visualizations from blktrace results
- blktrace.git
- man iowatcher
iowatcher [options] [--] [program arguments ...]
blktrace/
iowatcher/
├── blkparse.c
├── blkparse.h
├── COPYING
├── fio.c
├── fio.h
├── list.h
├── main.c
├── Makefile
├── mpstat.c
├── mpstat.h
├── plot.c
├── plot.h
├── tracers.c
└── tracers.h
iowatcher graphs the results of a blktrace run. It can graph the result of …
more ...blkrawverify & verify_blkparse
- blktrace.git
- man blkrawverify
- man verify_blkparse
blkrawverify 和 verify_blkparse 都是 verifies an output file produced by blkparse
blkrawverify
The blkrawverify utility can be used to verify data retrieved via blktrace. It will check for valid event formats, forward progressing sequence numbers and time stamps, also does reasonable checks for other …
more ...blkparse - produce formatted output of event streams of block devices
- blktrace.git
- man blkparse
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.git
- man blktrace
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
- man btrace
- blktrace.git
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 …
blktrace - early version of kernel part
- 2056a782f8e7 [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23
- v2.6.17-rc1 include/linux/blktrace_api.h
- v2.6.17-rc1 block/blktrace.c
blktrace.c 实现了 message 的填充(包括 message header 的构造 - struct blk_io_trace)并通过 relayfs 传递 message 到 userspace;blktrace_api 封装对 __blk_add_trace 的调用,Block IO layer 通过调用这些 APIs …
more ...Multipage bio_vecs
By Jake Edge May 4, 2016, LSFMM 2016
In the block layer, larger I/O operations tend to be more efficient, but current kernels limit how large those operations can be. The bio_vec structure, which describes the buffer for an I/O operation …
more ...