Back to main site | Back to man page index

STAPREF(1)                                     General Commands Manual                                     STAPREF(1)



NAME
       stapref - systemtap language reference



SYNOPSIS
       stapref


DESCRIPTION
       The reference for the systemtap scripting language.


LANGUAGE
       Keywords
              · break
              · continue
              · delete
              · else
              · exit
              · foreach
              · for
              · function
              · global
              · private
              · if
              · in
              · next
              · probe
              · return
              · try/catch
              · while


       Data Types and Operators
              Integers
              · var1 = 5
              · global var2 = 10

              Strings
              · var1 = "string1"
              · global var2 = "string2"

              Associative Arrays
              · global array1[]
              · global array2[SIZE]
              · array[index] = 5

              Context Variables
              · $var
              · $var$ (pretty printed string form)

              Binary numeric operators
              · * / % + - << >> & ^ | && ||

              Binary string operators
              · < > <= >= == !=

              Regular expression matching operators
              · =~ !~

              Ternary operator
              · cond ? exp1 : exp2

              Grouping operator
              · ( expression )

              Array operators
              · array[index] (array read/write)
              · [index] in array

              Aggregation operator
              · var <<< value


       Statements
              Jump Statements
              · continue
              · break
              · next
              · return expression
              · try statement catch (message)

              Selection Statements
              · if (expression) statement
              · else statement

              Iteration Statements
              · foreach (variable in array) statement
              · foreach ([var1,var2,...] in array) statement
              · for (expression; expression; expression) statement
              · while (expression) statement

              Declaration Statements
              · function name (variable : type, ...) { statement }
              · function name : type (variable : type, ...) { statement }
              · function name : type (variable : type, ...) %{ c_statement %}
              · probe probepoint { statement }
              · probe label = probepoint { statement }


       Lexical Structure
              Comments
              · # ... comment
              · // ... comment
              · /* ... comment ... */

              Preprocessor
              · %( expression %? true_tokens %: false_tokens %)
              · @define label (variable, ...) %{ statement %}
              Output Builtin Functions
              · print (variable)
              · printf (format:string, variable, ...)
                where format is of the form: %[flags][width][.precision][length]specifier
              · printd (delimiter:string, variable, ...)
              · printdln (delimiter:string, variable, ...)
              · println ()
              · sprint:string (variable)
              · sprintf:string (format:string, variable, ...)

              Variable Access Builtin Functions
              · @cast (variable, "type_name"[, "module"])
              · @defined (variable)


       Probepoints
              Some of the more commonly used probepoints
              · kernel.function(PATTERN) 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)
              · module(MPATTERN).FUNCTION (PATTERN).inline
              · kernel.statement(PATTERN)
              · kernel.statement(ADDRESS).absolute
              · module(MPATTERN).statement(PATTERN)
              · kprobe.FUNCTION (FUNCTION)
              · kprobe.FUNCTION (FUNCTION).return
              · kprobe.module(NAME).FUNCTION (FUNCTION)
              · kprobe.module(NAME).FUNCTION (FUNCTION).return
              · kprobe.statement(ADDRESS).absolute
              · process.begin process("PATH").begin
              · process(PID).begin process.thread.begin
              · process("PATH").thread.begin
              · process(PID).thread.begin
              · process.end
              · process("PATH").end
              · process(PID).end
              · process.thread.end
              · process("PATH").thread.end
              · process(PID).thread.end
              · process("PATH").syscall
              · process(PID).syscall
              · process.syscall.return
              · process("PATH").syscall.return
              · process(PID).syscall.return
              · process("PATH").FUNCTION ("NAME")
              · process("PATH").statement("*@FILE.c:123")
              · process("PATH").FUNCTION ("*").return
              · process("PATH").FUNCTION ("myfun").label("foo")
              · process("PATH").mark("LABEL")
              · cmdline_arg:string (N:long)
              · cmdline_args:string (N:long,m:long,delim:string)
              · cmdline_str:string ()
              · env_var:string (name:string)
              · execname:string ()
              · int_arg:long (N:long)
              · isinstr:long(s1:string,s2:string)
              · long_arg:long (N:long)
              · modname:string ()
              · module_name:string ()
              · pid:long ()
              · pn:string ()
              · pointer_arg:string (N:long)
              · pp:string ()
              · print_backtrace ()
              · probefunc:string ()
              · register:long(name:string)
              · str_replace:string(prnt_str:string,srch_str:string,rplc_str:string)
              · stringat:long(str:string,pos:long)
              · strlen:long(str:string)
              · strtol:long(str:string,base:long)
              · substr:string(str:string,start:long,length:long)
              · user_long:long(addr:long)
              · user_string:string(addr:long)



SEE ALSO
       stap(1)


BUGS
       Use     the     Bugzilla     link     of     the     project     web     page    or    our    mailing    list.
       http://sourceware.org/systemtap/,<[email protected]>.



                                                                                                           STAPREF(1)