• Tom Zanussi's avatar
    tracing: Add 'traceon' and 'traceoff' event trigger commands · 2a2df321
    Tom Zanussi authored
    Add 'traceon' and 'traceoff' event_command commands.  traceon and
    traceoff event triggers are added by the user via these commands in a
    similar way and using practically the same syntax as the analagous
    'traceon' and 'traceoff' ftrace function commands, but instead of
    writing to the set_ftrace_filter file, the traceon and traceoff
    triggers are written to the per-event 'trigger' files:
    
        echo 'traceon' > .../tracing/events/somesys/someevent/trigger
        echo 'traceoff' > .../tracing/events/somesys/someevent/trigger
    
    The above command will turn tracing on or off whenever someevent is
    hit.
    
    This also adds a 'count' version that limits the number of times the
    command will be invoked:
    
        echo 'traceon:N' > .../tracing/events/somesys/someevent/trigger
        echo 'traceoff:N' > .../tracing/events/somesys/someevent/trigger
    
    Where N is the number of times the command will be invoked.
    
    The above commands will will turn tracing on or off whenever someevent
    is hit, but only N times.
    
    Some common register/unregister_trigger() implementations of the
    event_command reg()/unreg() callbacks are also provided, which add and
    remove trigger instances to the per-event list of triggers, and
    arm/disarm them as appropriate.  event_trigger_callback() is a
    general-purpose event_command func() implementation that orchestrates
    command parsing and registration for most normal commands.
    
    Most event commands will use these, but some will override and
    possibly reuse them.
    
    The event_trigger_init(), event_trigger_free(), and
    event_trigger_print() functions are meant to be common implementations
    of the event_trigger_ops init(), free(), and print() ops,
    respectively.
    
    Most trigger_ops implementations will use these, but some will
    override and possibly reuse them.
    
    Link: http://lkml.kernel.org/r/00a52816703b98d2072947478dd6e2d70cde5197.1382622043.git.tom.zanussi@linux.intel.comSigned-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    2a2df321
trace_events_trigger.c 17 KB