dtrace(1) - phpMan

Command: man perldoc info search(apropos)  


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 containing:

              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 generated macros this way:

              #include "test.h"
               ...
              struct astruct s;
               ...
              SDT_PROBES_TEST_0(value);
               ...
              if (SDT_PROBES_TEST_1_ENABLED())
                  SDT_PROBES_TEST_1(expensive_function(s));



SEMAPHORES
       Semaphores are flag variables used by probes as a way of bypassing potentially costly pro-
       cessing to prepare arguments for probes that may not even be active.  They  are  automati-
       cally  set/cleared  by  systemtap when a relevant script is running, so the argument setup
       cost is only paid when necessary.  These semaphore variables are defined  within  the  the
       "test.o" object file, which must therefore be linked into an application.

       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>" within 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/, <systemtap AT sourceware.org>.

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



                                                                                        DTRACE(1)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-27 05:58 @18.221.174.248 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!