Arch manual pages

Package containing this man page: community/systemtap (version 3.1-5)

DTRACE(1) General Commands Manual DTRACE(1)

JMÉNO

dtrace - Nástroj pro generování statických sondážních bodů kompatibilní s Dtrace.
 
 

POUŽITÍ

dtrace -s file [OPTIONS]
 

POPIS

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.
 

VOLBY

-h
generuje hlavičkový soubor pro systemtap.
 
-G
generuje objektový soubor pro systemtap.
 
-o file
určuje výstupní soubor. Při volbě -G, je výchozí název výstupního souboru file.o; při volbě -h pak file.h.
 
-C
spusť nad vsstupním souborem cpp preprocesor, pokud je dán přepínač -h.
 
-I file
použij danou "include" cestu, pokud je dán přepínač -C .
 
-k
Zachovej dočasné soubory, například C zdrojový kód v případě, že je dán přepínač -G.
 

PŘÍKLADY

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));

 
 

SEMAFORY

Semafory jsou logické proměnné, které systemtap využívá k přeskočení nákladné inicializace sondy (příprava argumentů) v případech, kdy je to možné. Systemtap hodnotu semaforů nastavuje automaticky, když příslušný skript běží. Semafory jsou definovány v rámci objektového souboru "test.o", který tudíž musí být slinkován s aplikací.
 
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.
 

VIZ TAKÉ

stap(1),
stappaths(7)

CHYBY

Použijte projektovou bugzillu, nebo mailing list. http://sourceware.org/systemtap/, <systemtap@sourceware.org>.
error::reporting(7stap), https://sourceware.org/systemtap/wiki/HowToReportBugs