fd4c2b74f3
The implementation is in libblockdriver, and works transparently for all block drivers. The new btrace(8) tool can be used to control block tracing; see ``man btrace'' for details.
59 lines
2.2 KiB
Groff
59 lines
2.2 KiB
Groff
.TH BTRACE 8
|
|
.SH NAME
|
|
btrace \- block-level tracing interface
|
|
.SH SYNOPSIS
|
|
\fBbtrace\fR \fBstart\fR \fIdevice\fR \fIentries\fR
|
|
.PP
|
|
\fBbtrace\fR \fBstop\fR \fIdevice\fR \fIfile\fR
|
|
.PP
|
|
\fBbtrace\fR \fBreset\fR \fIdevice\fR
|
|
.PP
|
|
\fBbtrace\fR \fBdump\fR \fIfile\fR
|
|
.SH DESCRIPTION
|
|
The \fBbtrace\fR tool is the user interface to MINIX3's block-level tracing
|
|
facility. It allows one to start, stop, and reset tracing, and dump a trace
|
|
output file in a somewhat human-readable format.
|
|
.SH COMMANDS
|
|
.TP 10
|
|
\fBstart\fR
|
|
This command starts tracing all block requests on the given \fIdevice\fR. Each
|
|
block request takes up one entry in the log. The \fIentries\fR parameter
|
|
specifies the allocation side of the log in the driver process, in number of
|
|
(32-byte) entries. Once the log is full, no more entries will be added.
|
|
.TP 10
|
|
\fBstop\fR
|
|
This command stops tracing on the given \fIdevice\fR, and dumps the resulting
|
|
log to the given output \fIfile\fR.
|
|
.TP 10
|
|
\fBreset\fR
|
|
This command stops tracing on the given \fIdevice\fR and resets the state of
|
|
the block tracer. This should be useful only in emergency situations.
|
|
.TP 10
|
|
\fBdump\fR
|
|
Dump the contents of a log file generated earlier with \fBbtrace stop\fR, in
|
|
human-readable format. Heavy users of the block tracing facility will probably
|
|
want to write their own tools for parsing and visualizing dump files.
|
|
.SH LIMITATIONS
|
|
Only one block device can be traced per driver at once. It is therefore also
|
|
not possible to trace a device and all its partitions at the same time. The
|
|
tracing facility has been designed for tracing activity of a single file
|
|
system, in which case these limitations are not important.
|
|
.PP
|
|
The log will always start with a \fIclose\fR operation on the device, since
|
|
\fBbtrace\fR closes the file descriptor used to instruct the driver to start
|
|
tracing. Similarly, for logs that have not already filled up during tracing,
|
|
the last entry will be a \fBbtrace\fR-triggered \fIopen\fR operation.
|
|
.SH EXAMPLES
|
|
.TP 35
|
|
.B btrace start /dev/c2d0 10240
|
|
# Start a block trace on c2d0.
|
|
.TP 35
|
|
.B btrace stop /dev/c2d0 outfile
|
|
# Stop the block trace on c2d0.
|
|
.TP 35
|
|
.B btrace dump outfile
|
|
# View the output of the trace.
|
|
.SH "SEE ALSO"
|
|
.BR ioctl (2).
|
|
.SH AUTHOR
|
|
David van Moolenbroek <david@minix3.org>
|