diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/langref.tex | 8 | ||||
-rw-r--r-- | stapprobes.5.in | 15 |
5 files changed, 27 insertions, 9 deletions
@@ -1,3 +1,7 @@ +2009-02-02 Stan Cox <scox@redhat.com> + + * NEWS, stapprobes.5.in: Add process.label. + 2009-02-01 Stan Cox <scox@redhat.com> * tapsets.cxx (dwflpp::iterate_over_cu_labels): New. @@ -1,5 +1,8 @@ * What's new +- function("func").label("label") probes are now supported to allow matching + the label of a function. + - Systemtap initscript is available. This initscript allows you to run systemtap scripts as system services (in flight recorder mode) and control those scripts individually. @@ -10,7 +13,7 @@ automatically from the directory. - Serious problems associated with user-space probing in shared libraries - was corrected, making it now possible to experiment with probe shared + were corrected, making it now possible to experiment with probe shared libraries. Assuming dwarf debugging information is installed, use this twist on the normal syntax: diff --git a/doc/ChangeLog b/doc/ChangeLog index 34f5dbe0..01e9dcce 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2009-02-02 Stan Cox <scox@redhat.com> + + * langref.tex: Add process.label. + 2009-01-30 Dave Brolley <brolley@redhat.com> * Makefile.in: Regenerated. diff --git a/doc/langref.tex b/doc/langref.tex index 3af2bd15..5aefa278 100644 --- a/doc/langref.tex +++ b/doc/langref.tex @@ -706,6 +706,7 @@ kernel.function(PATTERN).call kernel.function(PATTERN).return kernel.function(PATTERN).return.maxactive(VALUE) kernel.function(PATTERN).inline +kernel.function(PATTERN).label(LPATTERN) module(MPATTERN).function(PATTERN) module(MPATTERN).function(PATTERN).call module(MPATTERN).function(PATTERN).return.maxactive(VALUE) @@ -737,8 +738,11 @@ The \textbf{.statement} variant places a probe at the exact spot, exposing those variables that are visible there. In the above probe descriptions, MPATTERN stands for a string literal -that identifies the loaded kernel module of interest. It may include asterisk -({*}), square brackets \char`\"{}{[}]\char`\"{}, and question mark (?) wildcards. +that identifies the loaded kernel module of interest and LPATTERN +stands for a source program label. Both MPATTERN and LPATTERN may +include asterisk ({*}), square brackets \char`\"{}{[}]\char`\"{}, and +question mark (?) wildcards. + PATTERN stands for a string literal that identifies a point in the program. It is composed of three parts: diff --git a/stapprobes.5.in b/stapprobes.5.in index b50adc9d..0854be53 100644 --- a/stapprobes.5.in +++ b/stapprobes.5.in @@ -263,6 +263,8 @@ kernel.function(PATTERN).return .br kernel.function(PATTERN).inline .br +kernel.function(PATTERN).label(LPATTERN) +.br module(MPATTERN).function(PATTERN) .br module(MPATTERN).function(PATTERN).call @@ -280,8 +282,10 @@ module(MPATTERN).statement(PATTERN) .ESAMPLE In the above list, MPATTERN stands for a string literal that aims to -identify the loaded kernel module of interest. It may include "*", "[]", -and "?" wildcards. PATTERN stands for a string literal that +identify the loaded kernel module of interest and LPATTERN stands for +a source program label. Both MPATTERN and LPATTERN may include the "*" +"[]", and "?" wildcards. +PATTERN stands for a string literal that aims to identify a point in the program. It is made up of three parts: .IP \(bu 4 @@ -445,14 +449,13 @@ A .B .mark probe gets called via a static probe which is defined in the application by -STAP_PROBE1(handle,LABEL,arg1). The handle is an application handle, +STAP_PROBE1(handle,LABEL,arg1), which is defined in sdt.h. The handle is an application handle, LABEL corresponds to the .mark argument, and arg1 is the argument. STAP_PROBE1 is used for probes with 1 argument, STAP_PROBE2 is used for probes with 2 arguments, and so on. The arguments of the probe are available in the context variables -$arg1, $arg2, ... -The application should be compiled with ../share/systemtap/runtime/sduprobes.h -and should be linked with libsduprobes.a. +$arg1, $arg2, ... An alternative to using the STAP_PROBE macros is to +use the dtrace script to create custom macros. .PP Note that .I PATH |