• Tom Zanussi's avatar
    tracing: Generalize hist trigger onmax and save action · 466f4528
    Tom Zanussi authored
    The action refactor code allowed actions and handlers to be separated,
    but the existing onmax handler and save action code is still not
    flexible enough to handle arbitrary coupling.  This change generalizes
    them and in the process makes additional handlers and actions easier
    to implement.
    
    The onmax action can be broken up and thought of as two separate
    components - a variable to be tracked (the parameter given to the
    onmax($var_to_track) function) and an invisible variable created to
    save the ongoing result of doing something with that variable, such as
    saving the max value of that variable so far seen.
    
    Separating it out like this and renaming it appropriately allows us to
    use the same code for similar tracking functions such as
    onchange($var_to_track), which would just track the last value seen
    rather than the max seen so far, which is useful in some situations.
    
    Additionally, because different handlers and actions may want to save
    and access data differently e.g. save and retrieve tracking values as
    local variables vs something more global, save_val() and get_val()
    interface functions are introduced and max-specific implementations
    are used instead.
    
    The same goes for the code that checks whether a maximum has been hit
    - a generic check_val() interface and max-checking implementation is
    used instead, which allows future patches to make use of he same code
    using their own implemetations of similar functionality.
    
    Link: http://lkml.kernel.org/r/980ea73dd8e3f36db3d646f99652f8fed42b77d4.1550100284.git.tom.zanussi@linux.intel.comSigned-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    466f4528
trace_events_hist.c 139 KB