summaryrefslogtreecommitdiffstats
path: root/stapprobes.5.in
diff options
context:
space:
mode:
authorhiramatu <hiramatu>2007-12-05 20:02:01 +0000
committerhiramatu <hiramatu>2007-12-05 20:02:01 +0000
commitdfd11cc3ea340096a2829f5ecda29998c73a0acb (patch)
treeba66a58789f0df1006a1ece1c616b2b38b15d29a /stapprobes.5.in
parent0c218afb69ed53355a69e4264cbc5584908d65b4 (diff)
downloadsystemtap-steved-dfd11cc3ea340096a2829f5ecda29998c73a0acb.tar.gz
systemtap-steved-dfd11cc3ea340096a2829f5ecda29998c73a0acb.tar.xz
systemtap-steved-dfd11cc3ea340096a2829f5ecda29998c73a0acb.zip
2007-12-05 Masami Hiramatsu <mhiramat@redhat.com>
PR 4935 * tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Allow user to access kernel variables in the condition of probe points. * stapprobes.5.in : Document the conditional probe point. * NEWS : Ditto. * parseok/five.stp: Add an example of conditional probe point. * parseko/probepoint04.stp: New test for conditional probe point. * parseko/probepoint05.stp: Ditto. * parseko/probepoint06.stp: Ditto. * parseko/probepoint07.stp: Ditto. * parseko/probepoint08.stp: Ditto. * parseko/probepoint09.stp: Ditto. * semok/twentynine.stp: Ditto. * semko/thirtynine.stp: Ditto. * systemtap.base/onoffprobe.*: Ditto.
Diffstat (limited to 'stapprobes.5.in')
-rw-r--r--stapprobes.5.in8
1 files changed, 8 insertions, 0 deletions
diff --git a/stapprobes.5.in b/stapprobes.5.in
index 6d1df5a4..276358a0 100644
--- a/stapprobes.5.in
+++ b/stapprobes.5.in
@@ -41,6 +41,13 @@ sufficient. (Think vaguely of the prolog cut operator.) If it does
resolve, then no further probe points in the same comma-separated list
will be resolved. Therefore, the "!" sufficiency mark only makes
sense in a list of probe point alternatives.
+.PP
+Additionally, a probe point may be followed by a "if (expr)" statement, in
+order to enable/disable the probe point on-the-fly. With the "if" statement,
+if the "expr" is false when the probe point is hit, the whole probe body
+including alias's body is skipped. The condition is stacked up through
+all levels of alias/wildcard expansion. So the final condition becomes
+the logical-and of conditions of all expanded alias/wildcard.
These are all syntactically valid probe points:
@@ -52,6 +59,7 @@ end
syscall.*
kernel.function("no_such_function") ?
module("awol").function("no_such_function") !
+signal.*? if (switch)
.ESAMPLE
Probes may be broadly classified into "synchronous" and