Diff for /wikisrc/tutorials/how_to_enable_and_run_dtrace.mdwn between versions 1.14 and 1.22

version 1.14, 2017/03/22 15:33:08 version 1.22, 2017/10/13 08:24:18
Line 1 Line 1
 DTrace is a Dynamic Tracing framework developed by Sun and ported to NetBSD. It enables extensive instrumentation of the kernel and user space. See the [DTrace Community Page](http://dtrace.org) for more information. Also see [DTrace Introduction](http://dtrace.org/guide/preface.html).   DTrace is a Dynamic Tracing framework developed by Sun and ported to NetBSD. It enables extensive instrumentation of the kernel and user space. See the [DTrace Community Page](http://dtrace.org) for more information.
   Also see [DTrace Introduction](http://dtrace.org/guide/preface.html), Brendan Gregg's [DTrace one liners](http://www.brendangregg.com/DTrace/dtrace_oneliners.txt) and his notes for [DTrace on FreeBSD](https://wiki.freebsd.org/DTrace/).
   
 # Current status  # Current status
   
Line 7  DTrace is a Dynamic Tracing framework de Line 8  DTrace is a Dynamic Tracing framework de
 DTrace is a work-in-progress effort and it is for x86 systems and some arm boards.  DTrace is a work-in-progress effort and it is for x86 systems and some arm boards.
   
 * i386 and amd64  * i386 and amd64
 * earm* (evbarm and armv4 based ports (armv4 side requires further testing but system is built with CTF)  * earm* (evbarm and armv4 based ports)
   
 ## Supported providers  ## Supported providers
   
Line 41  You need the following options in your k Line 42  You need the following options in your k
     options         MODULAR      options         MODULAR
   
 Optionally:  Optionally:
   
     options         INSECURE   # permit modules to loaded from user space once system has gone multiuser and securelevel has been raised.      options         INSECURE   # permit modules to loaded from user space once system has gone multiuser and securelevel has been raised.
   
 A Distribution needs to be built with the options `MKDTRACE=yes` and `MKCTF=yes`, this is taken care of automatically and doesn't need to be specified manually. The list of platforms it is applied to automatically is set in `src/share/mk/bsd.own.mk`  A Distribution needs to be built with the options `MKDTRACE=yes` and `MKCTF=yes`, this is taken care of automatically and doesn't need to be specified manually. The list of platforms it is applied to automatically is set in `src/share/mk/bsd.own.mk`
   
 Set the system to load the solaris and dtrace related modules in `/etc/modules.conf`, for a list of available modules, see `/stand/$MACHINE/$VERSION/modules/`  Set the system to load the solaris and dtrace related modules in `/etc/modules.conf`, for a list of available modules, see `/stand/$MACHINE/$VERSION/modules/`
   
   For example, add the following to `/etc/modules.conf` (the file may not exist already on a system):
           
     solaris  - `solaris`
     dtrace  - `dtrace`
     dtrace_sdt  - `dtrace_sdt`
     dtrace_fbt  - `dtrace_fbt`
     dtrace_lockstat  - `dtrace_lockstat`
     dtrace_profile  - `dtrace_profile`
     dtrace_syscall  - `dtrace_syscall`
           
 A `dtrace` device node is created automatically in `/dev/dtrace` when the modules are loaded into place.  A `dtrace` device node is created automatically in `/dev/dtrace` when the modules are loaded into place.
           
Line 124  in the kernel. Put it in sleep.d: Line 128  in the kernel. Put it in sleep.d:
           
   
 Start the script running (dtrace -s sleep.d) and then execute a "sleep 2" in another shell.   Start the script running (dtrace -s sleep.d) and then execute a "sleep 2" in another shell. 
   
   ## Tools included base
   
   Starting with NetBSD-8, on builds where `MKDTRACE=yes` is set, scripts from
   [Brendan Gregg's DTrace toolkit](https://github.com/opendtrace/toolkit/) are installed in base as standard.
   
   At present, the following scripts are installed in `/usr/sbin`: 
   
   - `dtruss` - An implementation of the truss utility in DTrace which traces the system calls
   made by a process
   - `execsnoop` - snoop on execution of processes as they occur
   - `opensnoop` - snoop on openning of files as they occur
   - `procsystime` -  print process system call time details.

Removed from v.1.14  
changed lines
  Added in v.1.22


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb