diff options
Diffstat (limited to 'static/freebsd/man4/dtrace_io.4 3.html')
| -rw-r--r-- | static/freebsd/man4/dtrace_io.4 3.html | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/static/freebsd/man4/dtrace_io.4 3.html b/static/freebsd/man4/dtrace_io.4 3.html new file mode 100644 index 00000000..71eeeb78 --- /dev/null +++ b/static/freebsd/man4/dtrace_io.4 3.html @@ -0,0 +1,109 @@ +<table class="head"> + <tr> + <td class="head-ltitle">DTRACE_IO(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">DTRACE_IO(4)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">dtrace_io</code> — <span class="Nd">a + DTrace provider for tracing events related to disk I/O</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp"><code class="Fn">io:::start</code>(<var class="Fa" style="white-space: nowrap;">struct + bio *</var>, <var class="Fa" style="white-space: nowrap;">struct devstat + *</var>);</p> +<p class="Pp"><code class="Fn">io:::done</code>(<var class="Fa" style="white-space: nowrap;">struct + bio *</var>, <var class="Fa" style="white-space: nowrap;">struct devstat + *</var>);</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">The <code class="Nm">io</code> provider allows the tracing of disk + I/O events. The + <a class="permalink" href="#io:::start"><code class="Fn" id="io:::start">io:::start</code></a>() + probe fires when a I/O request is about to be sent to the backing driver of + a <a class="Xr">disk(9)</a> object. This occurs after all + <a class="Xr">GEOM(4)</a> transformations have been performed on the + request. The + <a class="permalink" href="#io:::done"><code class="Fn" id="io:::done">io:::done</code></a>() + probe fires when a I/O request is completed. Both probes take a + <var class="Vt">struct bio *</var> representing the I/O request as their + first argument. The second argument is a <var class="Vt">struct devstat + *</var> for the underlying <a class="Xr">disk(9)</a> object.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="ARGUMENTS"><a class="permalink" href="#ARGUMENTS">ARGUMENTS</a></h1> +<p class="Pp">The fields of <var class="Vt">struct bio</var> are described in + the <a class="Xr">g_bio(9)</a> manual page, and the fields of + <var class="Vt">struct devstat</var> are described in the + <a class="Xr">devstat(9)</a> manual page. Translators for the + <var class="Vt">bufinfo_t</var> and <var class="Vt">devinfo_t</var> D types + are defined in <span class="Pa">/usr/lib/dtrace/io.d</span>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1> +<dl class="Bl-tag Bl-compact"> + <dt><span class="Pa">/usr/lib/dtrace/io.d</span></dt> + <dd>DTrace type and translator definitions for the <code class="Nm">io</code> + provider.</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1> +<p class="Pp">The following script shows a per-process breakdown of total I/O by + disk device:</p> +<div class="Bd Pp Bd-indent Li"> +<pre>#pragma D option quiet + +io:::start +{ + @[args[1]->device_name, execname, pid] = sum(args[0]->bio_length); +} + +END +{ + printf("%10s %20s %10s %15s\n", "DEVICE", "APP", "PID", "BYTES"); + printa("%10s %20s %10d %15@d\n", @); +}</pre> +</div> +</section> +<section class="Sh"> +<h1 class="Sh" id="COMPATIBILITY"><a class="permalink" href="#COMPATIBILITY">COMPATIBILITY</a></h1> +<p class="Pp">This provider is not compatible with the + <code class="Nm">io</code> provider found in Solaris, as its probes use + native <span class="Ux">FreeBSD</span> argument types.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">dtrace(1)</a>, <a class="Xr">devstat(9)</a>, + <a class="Xr">SDT(9)</a></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> +<p class="Pp">The <code class="Nm">io</code> provider first appeared in + <span class="Ux">FreeBSD</span> 9.2 and 10.0.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> +<p class="Pp">This manual page was written by <span class="An">Mark + Johnston</span> + <<a class="Mt" href="mailto:markj@FreeBSD.org">markj@FreeBSD.org</a>>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1> +<p class="Pp">The <code class="Fn">io:::wait-start</code>() and + <code class="Fn">io:::wait-done</code>() probes are not currently + implemented on <span class="Ux">FreeBSD</span>.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">October 26, 2025</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
