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

FreeBSD Manual Pages

  
 
  

home | help
DTRACE_IO(4)		    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	14.3			April 18, 2015			  DTRACE_IO(4)

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

home | help