Diff for /wikisrc/tutorials/how_to_enable_and_run_dtrace.mdwn between versions 1.23 and 1.27

version 1.23, 2018/05/24 17:37:35 version 1.27, 2019/07/21 12:28:26
Line 12  DTrace is a work-in-progress effort and  Line 12  DTrace is a work-in-progress effort and 
   
 ## Supported providers  ## Supported providers
   
 * SDT: Statically Defined Tracing  * DTrace: What to do when a script BEGINs, ENDs, ERRORs
 * FBT: Function Boundary Tracing  * FBT: Function Boundary Tracing
   * IO: Disk I/O
 * Lockstat: Kernel Lock Statistics  * Lockstat: Kernel Lock Statistics
   * Proc: Process and thread related events
 * Profile: Time based interrupt event source for Profiling  * Profile: Time based interrupt event source for Profiling
   * SDT: Statically Defined Tracing
 * Syscall: System Calls  * Syscall: System Calls
 * Syscall Linux (32bit & 64 bit): System calls via the Linux binary emulation layer  * Syscall Linux (32bit & 64 bit): System calls via the Linux binary emulation layer
   * VFS: Filesystem operations (confined to namecache events at time of writing - 8.99.22)
   
 ## TODO for netbsd-7  ## TODO for netbsd-7
   
Line 25  DTrace is a work-in-progress effort and  Line 29  DTrace is a work-in-progress effort and 
 * Determine whether the profile module works and list it here.  * Determine whether the profile module works and list it here.
 * Integrate [[riz|users/riz]]'s syscall provider patch.  * Integrate [[riz|users/riz]]'s syscall provider patch.
   
 ## TODO for netbsd-6  
   
 Need to identify changes to pull up to netbsd-6 and pull them up.  
 Candidates:  
   
 * Profile provider.  
   
 # How to use  # How to use
   
 ##  Building DTrace   ##  Building DTrace 
Line 53  For example, add the following to `/etc/ Line 50  For example, add the following to `/etc/
           
 - `solaris`  - `solaris`
 - `dtrace`  - `dtrace`
 - `dtrace_sdt`  
 - `dtrace_fbt`  - `dtrace_fbt`
 - `dtrace_lockstat`  - `dtrace_lockstat`
 - `dtrace_profile`  - `dtrace_profile`
   - `dtrace_sdt`
 - `dtrace_syscall`  - `dtrace_syscall`
   - `dtrace_syscall_linux`
           
 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 85  List the dtrace probes  Line 83  List the dtrace probes 
     29141       proc                                                     lwp_exit      29141       proc                                                     lwp_exit
   
   
 ##  Running hello world   ## Running hello world 
   
 Put the following into the file hello.d:  Put the following into the file hello.d:
           
Line 103  Run the hello world script:  Line 101  Run the hello world script: 
     dtrace: script './hello.d' matched 1 probe      dtrace: script './hello.d' matched 1 probe
     CPU     ID                    FUNCTION:NAME      CPU     ID                    FUNCTION:NAME
       0      1                           :BEGIN   Hello world        0      1                           :BEGIN   Hello world
       
   The same script could be executed as a one liner on the shell, using
   
       dtrace -n 'BEGIN { trace("Hello world"); exit(0); }'
   
 ## A more complex example  ## A more complex example
   
Line 138  kernel. When it's ready, it will print a Line 139  kernel. When it's ready, it will print a
 'sleep.d' matched 59268 probes".  Then execute a "sleep 2" in another  'sleep.d' matched 59268 probes".  Then execute a "sleep 2" in another
 shell.  shell.
   
 ## Tools included base  ## Tools included in base
   
 Starting with NetBSD-8, on builds where `MKDTRACE=yes` is set, scripts from  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.  [Brendan Gregg's DTrace toolkit](https://github.com/opendtrace/toolkit/) are installed in base as standard.

Removed from v.1.23  
changed lines
  Added in v.1.27


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