<commit_before>.TH biosnoop 8  "2015-09-16" "USER COMMANDS"
.SH NAME
biosnoop \- Trace block device I/O and print details incl. issuing PID.
.SH SYNOPSIS
.B biosnoop [\-hQ]
.SH DESCRIPTION
This tools traces block device I/O (disk I/O), and prints a one-line summary
for each I/O showing various details. These include the latency from the time of
issue to the device to its completion, and the PID and process name from when
the I/O was first created (which usually identifies the responsible process).

This uses in-kernel eBPF maps to cache process details (PID and comm) by I/O
request, as well as a starting timestamp for calculating I/O latency.

This works by tracing various kernel blk_*() functions using dynamic tracing,
and will need updating to match any changes to these functions.

This makes use of a Linux 4.4 feature (bpf_perf_event_output());
for kernels older than 4.4, see the version under tools/old,
which uses an older mechanism

Since this uses BPF, only the root user can use this tool.
.SH REQUIREMENTS
CONFIG_BPF and bcc.
.SH OPTIONS
.TP
\-h
Print usage message.
.TP
\-Q
Include a column showing the time spent quueued in the OS.
.SH EXAMPLES
.TP
Trace all block device I/O and print a summary line per I/O:
#
.B biosnoop
.SH FIELDS
.TP
TIME(s)
Time of the I/O completion, in seconds since the first I/O was seen.
.TP
COMM
Cached process name, if present. This usually (but isn't guaranteed) to identify
the responsible process for the I/O.
.TP
PID
Cached process ID, if present. This usually (but isn't guaranteed) to identify
the responsible process for the I/O.
.TP
DISK
Disk device name.
.TP
T<commit_msg>biosnoop: Fixed the spelling mistake of quueued to queued<commit_after>.TH biosnoop 8  "2015-09-16" "USER COMMANDS"
.SH NAME
biosnoop \- Trace block device I/O and print details incl. issuing PID.
.SH SYNOPSIS
.B biosnoop [\-hQ]
.SH DESCRIPTION
This tools traces block device I/O (disk I/O), and prints a one-line summary
for each I/O showing various details. These include the latency from the time of
issue to the device to its completion, and the PID and process name from when
the I/O was first created (which usually identifies the responsible process).

This uses in-kernel eBPF maps to cache process details (PID and comm) by I/O
request, as well as a starting timestamp for calculating I/O latency.

This works by tracing various kernel blk_*() functions using dynamic tracing,
and will need updating to match any changes to these functions.

This makes use of a Linux 4.4 feature (bpf_perf_event_output());
for kernels older than 4.4, see the version under tools/old,
which uses an older mechanism

Since this uses BPF, only the root user can use this tool.
.SH REQUIREMENTS
CONFIG_BPF and bcc.
.SH OPTIONS
.TP
\-h
Print usage message.
.TP
\-Q
Include a column showing the time spent queued in the OS.
.SH EXAMPLES
.TP
Trace all block device I/O and print a summary line per I/O:
#
.B biosnoop
.SH FIELDS
.TP
TIME(s)
Time of the I/O completion, in seconds since the first I/O was seen.
.TP
COMM
Cached process name, if present. This usually (but isn't guaranteed) to identify
the responsible process for the I/O.
.TP
PID
Cached process ID, if present. This usually (but isn't guaranteed) to identify
the responsible process for the I/O.
.TP
DISK
Disk device name.
.TP
T
{'fraction_non_alphanumeric': 0.06368849984907939, 'fraction_numerical': 0.00784787201931784, 'mean_word_length': 3.866372980910426, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3263286', 'n_tokens_mistral': 1051, 'n_tokens_neox': 975, 'n_words': 543}