summaryrefslogtreecommitdiffstats
path: root/stapfuncs.5.in
blob: 72d048eb2f552404a6ab895160978df1a0d91f80 (plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
.\" -*- nroff -*-
.TH STAPFUNCS 5 @DATE@ "Red Hat"
.SH NAME
stapfuncs \- systemtap functions

.SH DESCRIPTION
The following sections enumerate the public functions provided by
standard tapsets installed under /usr/share/systemtap/tapset.  Each
function is described with a signature, and its behavior/restrictions.
The signature line includes the name of the function, the type of
its return value (if any), and the names and types of all parameters.
The syntax is the same as printed with the 
.IR stap " option " -p2 .
Examples:

.TP
example1:long (v:string, k:long)
In function "example1", do something with the given string and integer.
Return some integer.

.TP
example2:unknown ()
In function "example2", do something.  There is no explicit return value
and take no parameters.

.SS LOGGING

.TP
printk:unknown (msg:string)
Log the given string to the kernel's printk buffer, at KERN_INFO severity.
Append an implicit end-of-line.

.TP
print:unknown (msg:string)
Print the given string to the common trace buffer.

.TP
log:unknown (msg:string)
Log the given string to the common trace buffer.  Append an implicit
end-of-line.

.TP
warn:unknown (msg:string)
Log the given string to the warning stream.  Append an implicit end-of-line.
.I stpd
prepends the string "WARNING:". 

.TP
error:unknown (msg:string)
A fatal error has occurred.  Log the given string to the error stream.
Append an implicit end-of-line.
.I stpd
prepends the string "ERROR:".
Block any further execution of statements in this probe, block
any new probe handlers, and end the systemtap session as soon
as possible.

.TP
exit:unknown ()
Enqueue a request to shut down the systemtap session.  This does
.B not
unwind the current probe handler, nor block new probe handlers.
.I stpd
will shortly respond to the request and initiate an orderly shutdown.

.SS CONVERSIONS

.TP
hexstring:string (num:long)
Return a hexadecimal string representation of the given integer, including
the leading "0x".

.TP
string:string (num:long)
Return a decimal string representation of the given integer.

.TP
kernel_string:string (addr:long)
Copy a string from kernel space at given address.  The validation of this
address is only partial at present.

.TP
user_string:string (addr:long)
Copy a string from user space at given address.  The validation of this
address is only partial at present.

.SS STRING

.TP
strlen:long (str:string)
Return the number of characters in str.

.TP
substr:string (str:string,start:long, stop:long)
Return the substring of str starting from character start and ending at character stop.

.TP
isinstr:long (s1:string, s2:string)
Returns 1 if string s1 contains string s2, returns 0 otherwise.

.SS TIMESTAMP

.TP
gettimeofday_us:long ()
Return the number of microseconds since the UNIX epoch.

.TP
gettimeofday_ms:long ()
Return the number of milliseconds since the UNIX epoch.

.TP
gettimeofday_s:long ()
Return the number of seconds since the UNIX epoch.

.SS CONTEXTINFO

.TP
execname:string ()
Return the name of the current process.

.TP
pexecname:string()
Return the name of the parent process.

.TP
pid:long ()
Return the current pid. 

.TP
ppid:long ()
Return the current pid.

.TP
uid:long ()
Return the uid of the current process.

.TP
euid:long ()
Return the effective uid of the current process.

.TP
gid:long ()
Return the gid of the current process.

.TP
egid:long ()
Return the effective gid of the current process.

.TP
print_regs:unknown ()
Print a register dump.

.TP
print_backtrace:unknown ()
Print a symbolic backtrace.  Use with care.  May be timeconsuming.

.TP
backtrace:string ()
Return a string of hex addresses that are a backtrace of the stack.
May be truncated due to maximum string length.

.TP
print_stack (bt:string)
Perform a symbolic lookup of the addresses in bt and prints one per line.

.TP
pp:string ()
Return the probe point associated with the currently running probe handler,
including alias and wildcard expansion effects.

.TP
target:long ()
Returns the pid of the target process.

.SS ERRNO

.TP
errno_str:string (e:long)
Return the symbolic string associated with the given error code, like
"ENOENT" for the number 2, or "E#3333" for an out-of-range value like 3333.

.SH FILES
.nh
.IR /usr/share/systemtap/tapset
.hy

.SH SEE ALSO
.IR stap (1)