File: dtrace.1

package info (click to toggle)
systemtap 5.1-5
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 47,964 kB
  • sloc: cpp: 80,838; ansic: 54,757; xml: 49,725; exp: 43,665; sh: 11,527; python: 5,003; perl: 2,252; tcl: 1,312; makefile: 1,006; javascript: 149; lisp: 105; awk: 101; asm: 91; java: 70; sed: 16
file content (132 lines) | stat: -rw-r--r-- 3,170 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
.\" -*- nroff -*-
.TH DTRACE 1
.SH JMÉNO
dtrace \- Nástroj pro generování statických sondážních bodů kompatibilní s Dtrace.

.\" macros
.\" do not nest SAMPLEs
.de SAMPLE
.br

.nr oldin \\n(.i
.RS
.nf
.nh
..
.de ESAMPLE
.hy
.fi
.RE
.in \\n[oldin]u

..

.SH POUŽITÍ

.br
.B dtrace \-s \fIfile\fR [\fBOPTIONS\fR]

.SH POPIS

Příkaz dtrace převádí definici sondážních bodů předanou ve \fIfile.d\fR na
odpovídající hlavičkový soubor, pokud je použit přepínač \fB\-h\fR, nebo na
odpovídající objektový soubor, pokud je použit přepínač \fB\-G\fR.

.SH VOLBY
.PP
.TP
.B \-h
generuje hlavičkový soubor pro systemtap.

.TP
.B \-G
generuje objektový soubor pro systemtap.

.TP
.B \-o \fIfile\fR
určuje výstupní soubor.  Při volbě \fB\-G\fR, je výchozí název výstupního
souboru \fIfile.o\fR; při volbě \fB\-h\fR pak \fIfile.h\fR.

.TP
.B \-C
spusť nad vsstupním souborem cpp preprocesor, pokud je dán přepínač \fB\-h\fR.

.TP
.B \-I \fIfile\fR
použij danou "include" cestu, pokud je dán přepínač \fB\-C\fR .

.TP
.B \-k
Zachovej dočasné soubory, například C zdrojový kód v případě, že je dán přepínač
\fB\-G\fR.

.SH PŘÍKLADY

Systemptap je kompatibilní se specifikací statických dtrace sond na úrovni
zdrojového kódu.  Mějme soubor \fItest.d\fR s následujícím obsahem:
.SAMPLE
provider sdt_probes
{
  probe test_0 (int type);
  probe test_1 (struct astruct node);
};
struct astruct {int a; int b;};
.ESAMPLE

Pak příkaz \fI"dtrace\ \-s\ test.d\ \-G"\fR vygeneruje objektový soubor s
definicí sondážních bodů \fItest.o\fR a příkaz \fI"dtrace\ \-s\ test.d\ \-h"\fR
vytvoří hlavičkový soubor \fItest.h\fR.  Následně může aplikace využívat
vygenerovaná makra takto:

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

.SH 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 \fI"test.o"\fR, který
tudíž musí být slinkován s aplikací.

.PP
V některých případech ovšem nejsou semafory nutné ani užitečné.  V tom případě
lze vynecháním \fI"test.o"\fR zjednodušit sestavování aplikace.  K přeskočení
závislostí na semaforech vložte include \fI"<sys/sdt.h>"\fR do aplikace před
\fI"test.h"\fR takto:

.SAMPLE
#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));
.ESAMPLE
V tomto případě se nejdříve upraví ENABLED() test.

.SH VIZ TAKÉ
.nh
.nf
.IR stap (1),
.IR stappaths (7)

.SH CHYBY
Použijte projektovou bugzillu, nebo mailing list.
.nh
.BR http://sourceware.org/systemtap/ ", " <systemtap@sourceware.org> .
.hy
.PP
.IR error::reporting (7stap),
.BR https://sourceware.org/systemtap/wiki/HowToReportBugs
.hy