summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfche <fche>2005-05-25 18:26:03 +0000
committerfche <fche>2005-05-25 18:26:03 +0000
commit45f880289dcfc06494885546750b42f4e59074a6 (patch)
treee82e079ad2c56e0801bbcf6df0569715ecc16f0b
parentbed7c0afb62154918b411c325faa619749f1c050 (diff)
downloadsystemtap-steved-45f880289dcfc06494885546750b42f4e59074a6.tar.gz
systemtap-steved-45f880289dcfc06494885546750b42f4e59074a6.tar.xz
systemtap-steved-45f880289dcfc06494885546750b42f4e59074a6.zip
none
-rw-r--r--tapsets/contextinfo/contextinfo.txt67
1 files changed, 67 insertions, 0 deletions
diff --git a/tapsets/contextinfo/contextinfo.txt b/tapsets/contextinfo/contextinfo.txt
new file mode 100644
index 00000000..275f1b6d
--- /dev/null
+++ b/tapsets/contextinfo/contextinfo.txt
@@ -0,0 +1,67 @@
+* Application name: probe context information ariables
+* Contact: fche
+* Motivation: let probes know where/how they were fired; introspective
+ probe handlers
+* Background: discussions on mailing lists
+* Target software: various
+* Type of description: tapset variables
+* Interesting probe points: n/a
+* Interesting values:
+
+ $pp_alias: string: the string specification of the probe point, as found
+ in the original .stp file, before alias and other
+ expansion
+ $pp: string: representation of this probe point, after alias and wildcard
+ expansion
+ $pp_function: string: source function (if available)
+ $pp_srcfile: string: source file name (if available)
+ $pp_srcline: number: line number in source file (if available)
+
+ $function[pc]: string: function name containing given address
+ $module[pc]: string: kernel module name containing given address
+ $address[sym]: number: base address of given function symbol
+
+ $pc: number: PC snapshot at invocation
+ $stack[depth]: number: PC of caller at given depth, if available
+
+* Dependencies:
+
+ Debug-info files
+
+* Restrictions:
+
+ The $pp series of variables are computed at translation time, and thus
+ are only applicable to those probes that have related debug-info points.
+
+ $pc should be directly available.
+
+ The $function series of read-only pseudo-arrays are calculated at
+ run time, from symbol table information passed in some way.
+ $stack[0] might take some probing in the registers, or (eek!) on the
+ target stack frame. Conservatively returning 0 instead may be okay.
+
+* Data collection:
+
+ Several of the variables are translation-time constants, so these don't
+ have run-time collection needs.
+
+ For a kernel/module probe, $function[] could be computed from the kallsyms
+ lookup functions. Alternately, the translator could emit a copy of the
+ target symbol table into the probe C code, which $function[] could
+ search. The $stack[] elements would be served by the runtime on a
+ best-effort basis.
+
+* Data presentation:
+
+ n/a: variables are simple
+
+* Competition:
+
+ unknown
+
+* Cross-references:
+
+ http://sources.redhat.com/ml/systemtap/2005-q2/msg00395.html
+ http://sources.redhat.com/ml/systemtap/2005-q2/msg00281.html
+
+* Associated files: