diff options
author | fche <fche> | 2005-05-25 18:26:03 +0000 |
---|---|---|
committer | fche <fche> | 2005-05-25 18:26:03 +0000 |
commit | 45f880289dcfc06494885546750b42f4e59074a6 (patch) | |
tree | e82e079ad2c56e0801bbcf6df0569715ecc16f0b | |
parent | bed7c0afb62154918b411c325faa619749f1c050 (diff) | |
download | systemtap-steved-45f880289dcfc06494885546750b42f4e59074a6.tar.gz systemtap-steved-45f880289dcfc06494885546750b42f4e59074a6.tar.xz systemtap-steved-45f880289dcfc06494885546750b42f4e59074a6.zip |
none
-rw-r--r-- | tapsets/contextinfo/contextinfo.txt | 67 |
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: |