• Tom Zanussi's avatar
    tracing: Add variable support to hist triggers · 30350d65
    Tom Zanussi authored
    Add support for saving the value of a current event's event field by
    assigning it to a variable that can be read by a subsequent event.
    
    The basic syntax for saving a variable is to simply prefix a unique
    variable name not corresponding to any keyword along with an '=' sign
    to any event field.
    
    Both keys and values can be saved and retrieved in this way:
    
        # echo 'hist:keys=next_pid:vals=$ts0:ts0=common_timestamp ...
        # echo 'hist:timer_pid=common_pid:key=$timer_pid ...'
    
    If a variable isn't a key variable or prefixed with 'vals=', the
    associated event field will be saved in a variable but won't be summed
    as a value:
    
        # echo 'hist:keys=next_pid:ts1=common_timestamp:...
    
    Multiple variables can be assigned at the same time:
    
        # echo 'hist:keys=pid:vals=$ts0,$b,field2:ts0=common_timestamp,b=field1 ...
    
    Multiple (or single) variables can also be assigned at the same time
    using separate assignments:
    
        # echo 'hist:keys=pid:vals=$ts0:ts0=common_timestamp:b=field1:c=field2 ...
    
    Variables set as above can be used by being referenced from another
    event, as described in a subsequent patch.
    
    Link: http://lkml.kernel.org/r/fc93c4944d9719dbcb1d0067be627d44e98e2adc.1516069914.git.tom.zanussi@linux.intel.comSigned-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
    Signed-off-by: default avatarBaohong Liu <baohong.liu@intel.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    30350d65
trace_events_hist.c 50.8 KB