Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DTRACE_IO(4)	       FreeBSD Kernel Interfaces Manual		  DTRACE_IO(4)

NAME
     dtrace_io -- a DTrace provider for	tracing	events related to disk I/O

SYNOPSIS
     io:::start(struct bio *, struct devstat *);

     io:::done(struct bio *, struct devstat *);

DESCRIPTION
     The io provider allows the	tracing	of disk	I/O events.  The io:::start()
     probe fires when a	I/O request is about to	be sent	to the backing driver
     of	a disk(9) object.  This	occurs after all GEOM(4) transformations have
     been performed on the request.  The io:::done() probe fires when a	I/O
     request is	completed.  Both probes	take a struct bio * representing the
     I/O request as their first	argument.  The second argument is a struct
     devstat * for the underlying disk(9) object.

ARGUMENTS
     The fields	of struct bio are described in the g_bio(9) manual page, and
     the fields	of struct devstat are described	in the devstat(9) manual page.
     Translators for the bufinfo_t and devinfo_t D types are defined in
     /usr/lib/dtrace/io.d.

FILES
     /usr/lib/dtrace/io.d  DTrace type and translator definitions for the io
			   provider.

EXAMPLES
     The following script shows	a per-process breakdown	of total I/O by	disk
     device:

	   #pragma D option quiet

	   io:::start
	   {
		   @[args[1]->device_name, execname, pid] = sum(args[0]->bio_bcount);
	   }

	   END
	   {
		   printf("%10s	%20s %10s %15s\n", "DEVICE", "APP", "PID", "BYTES");
		   printa("%10s	%20s %10d %15@d\n", @);
	   }

COMPATIBILITY
     This provider is not compatible with the io provider found	in Solaris, as
     its probes	use native FreeBSD argument types.

SEE ALSO
     dtrace(1),	devstat(9), SDT(9)

HISTORY
     The io provider first appeared in FreeBSD 9.2 and 10.0.

AUTHORS
     This manual page was written by Mark Johnston <markj@FreeBSD.org>.

BUGS
     The io:::wait-start() and io:::wait-done()	probes are not currently im-
     plemented on FreeBSD.

FreeBSD	13.0			April 18, 2015			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | FILES | EXAMPLES | COMPATIBILITY | SEE ALSO | HISTORY | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dtrace_io&sektion=4&manpath=FreeBSD+12.0-RELEASE>

home | help