Back to main site | Back to man page index

DTRACE(1)                                      General Commands Manual                                      DTRACE(1)



NAME
       dtrace - Dtrace compatible user application static probe generation tool.



SYNOPSIS
       dtrace -s file [OPTIONS]


DESCRIPTION
       The dtrace command converts probe descriptions defined in file.d into a probe header file via the -h option or
       a probe description file via the -G option.


OPTIONS
       -h     generate a systemtap header file.


       -G     generate a systemtap probe definition object file.


       -o file
              is the name of the output file.  If the -G option is given then the output file will be called  file.o;
              if the -h option is given then the output file will be called file.h.


       -C     run the cpp preprocessor on the input file when the -h option is given.


       -I file
              give this include path to cpp when the -C option is given.


       -k     keep temporary files, for example the C language source for the -G option.


EXAMPLES
       Systemtap  is  source  compatible with dtrace user application static probe support.  Given a file test.d con‐
       taining:

              provider sdt_probes
              {
                probe test_0 (int type);
                probe test_1 (struct astruct node);
              };
              struct astruct {int a; int b;};

       Then the command  "dtrace -s test.d -G"  will  create  the  probe  definition  file  test.o  and  the  command
       "dtrace -stest.d -h"  will create the probe header file test.h Subsequently the application can use the gener‐
       ated macros this way:

              #include "test.h"
               ...
              struct astruct s;
               ...
              SDT_PROBES_TEST_0(value);

       Sometimes,  semaphore  variables are not necessary nor helpful.  Skipping them can simplify the build process,
       by omitting the extra "test.o" file.  To skip dependence upon semaphore variables, include "<sys/sdt.h>" with‐
       in the application before "test.h":

              #include <sys/sdt.h>
              #include "test.h"
               ...
              struct astruct s;
               ...
              SDT_PROBES_TEST_0(value);
               ...
              if (SDT_PROBES_TEST_1_ENABLED())
                 SDT_PROBES_TEST_1(cheap_function(s));

       In this mode, the ENABLED() test is fixed at 1.


SEE ALSO
       stap(1),
       stappaths(7)



BUGS
       Use  the  Bugzilla  link  of  the  project  web  page  or our mailing list.  http://sourceware.org/systemtap/,
       <[email protected]>.

       error::reporting(7stap), https://sourceware.org/systemtap/wiki/HowToReportBugs



                                                                                                            DTRACE(1)