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

FreeBSD Manual Pages

  
 
  

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

NAME
     dt	-- dynamic tracer

SYNOPSIS
     pseudo-device dt

DESCRIPTION
     System and	application tracing can	happen in the kernel.  It has to be
     configured	and enabled through the	ioctl(2) interface exposed by the
     pseudo-device /dev/dt.

     This device can only be opened when the kern.allowdt sysctl(2) variable
     is	set.

IOCTL INTERFACE
     The ioctl(2) command codes	below are defined in <dev/dt/dtvar.h>.

     DTIOCGPLIST struct	dtioc_probe *dtpr
	     Get available probe entries.

	     struct dtioc_probe	{
		     size_t		      dtpr_size;
		     struct dtioc_probe_info *dtpr_probes;
	     };

	     If	dtpr_size is non-zero, as many probes as possible that can fit
	     into this size will be copied into	the supplied buffer.  On exit,
	     dtpr_size is always set to	the total size required	to hold	all
	     probe entries (i.e., it is	set to sizeof(struct dtioc_probe_info)
	     * dt_nprobes).

     DTIOCGSTATS struct	dtioc_stat *dtst
	     Get statistics for	current	recording.

	     struct dtioc_stat {
		     uint64_t		      dtst_readevt;
		     uint64_t		      dtst_dropevt;
	     };

     DTIOCRECORD int on
	     Start or stop recording.

     DTIOCPRBENABLE struct dtioc_req *dtrq
	     Enable the	given probe for	recording.

	     struct dtioc_req {
		     uint32_t		      dtrq_pbn;
		     struct dt_filter	      dtrq_filter;
		     uint32_t		      dtrq_rate;
		     uint64_t		      dtrq_evtflags;
	     };

FILES
     /dev/dt  dynamic tracing device.

ERRORS
     An	open of	/dev/dt	will fail if:

     [EPERM]		the kern.allowdt sysctl(2) variable wasn't set.

     [ENOMEM]		not enough memory space	was available.

SEE ALSO
     ioctl(2), bt(5), btrace(8)

HISTORY
     The dt dynamic tracing mechanism first appeared in	OpenBSD	6.7.

FreeBSD	13.0		       December	2, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | IOCTL INTERFACE | FILES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dt&sektion=4&manpath=OpenBSD+6.9>

home | help