summaryrefslogtreecommitdiffstats
path: root/stap.1.in
diff options
context:
space:
mode:
Diffstat (limited to 'stap.1.in')
-rw-r--r--stap.1.in17
1 files changed, 11 insertions, 6 deletions
diff --git a/stap.1.in b/stap.1.in
index c557350a..acfc64c3 100644
--- a/stap.1.in
+++ b/stap.1.in
@@ -467,11 +467,12 @@ For prologue style alias, the statement block that follows an alias
definition is implicitly added as a prologue to any probe that refers
to the alias. While for the epilogue style alias, the statement block
that follows an alias definition is implicitly added as an epilogue to
-any probe that refers to the alias. For example:
+any probe that refers to the alias. For example:
.SAMPLE
probe syscall.read = kernel.function("sys_read") {
fildes = $fd
+ if (execname == "init") next # skip rest of probe
}
.ESAMPLE
defines a new probe point
@@ -482,19 +483,23 @@ which expands to
.nh
.IR kernel.function("sys_read") ,
.hy
-with the given statement as a prologue. And
+with the given statement as a prologue, which is useful to predefine
+some variables for the alias user and/or to skip probe processing
+entirely based on some conditions. And
.SAMPLE
probe syscall.read += kernel.function("sys_read") {
- fildes = $fd
+ if (tracethis) println ($fd)
}
.ESAMPLE
-defines a new probe point with the given statement as an epilogue.
+defines a new probe point with the given statement as an epilogue, which
+is useful to take actions based upon variables set or left over by the
+the alias user.
-Another probe definition
-may use the alias like this:
+An alias is used just like a built-in probe type.
.SAMPLE
probe syscall.read {
printf("reading fd=%d\n", fildes)
+ if (fildes > 10) tracethis = 1
}
.ESAMPLE