dtrace -s file [OPTIONS]
Příkaz dtrace převádí definici sondážních bodů předanou ve file.d na odpovídající hlavičkový soubor, pokud je použit přepínač -h, nebo na odpovídající objektový soubor, pokud je použit přepínač -G.
Systemptap je kompatibilní se specifikací statických dtrace sond na úrovni
zdrojového kódu. Mějme soubor test.d s následujícím obsahem:
provider sdt_probes { probe test_0 (int type); probe test_1 (struct astruct node); }; struct astruct {int a; int b;};
Pak příkaz "dtrace -s test.d -G" vygeneruje objektový soubor s definicí sondážních bodů test.o a příkaz "dtrace -s test.d -h" vytvoří hlavičkový soubor test.h. Následně může aplikace využívat vygenerovaná makra takto:
#include "test.h" ... struct astruct s; ... SDT_PROBES_TEST_0(value); ... if (SDT_PROBES_TEST_1_ENABLED()) SDT_PROBES_TEST_1(expensive_function(s));
V některých případech ovšem nejsou semafory nutné ani užitečné. V tom případě lze vynecháním "test.o" zjednodušit sestavování aplikace. K přeskočení závislostí na semaforech vložte include "<sys/sdt.h>" do aplikace před "test.h" takto:
#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));
V tomto případě se nejdříve upraví ENABLED() test.
stap(1), stappaths(7)
error::reporting(7stap), https://sourceware.org/systemtap/wiki/HowToReportBugs