[lttng-dev] How to disable an event that's been enabled by a wildcard selection or -a? (lttng-dev Digest, Vol 64, Issues 30, 38)

Ikaheimonen, JP jp_ikaheimonen at mentor.com
Wed Sep 4 05:02:31 EDT 2013


What I would like to see is a new command option --exclude as in 

lttng enable-event -u "a*" --exclude "ab*,ac*"

In this syntax, the exclusions would apply to this one enabler only, so you could then call

lttng enable-event -u "abc*"

After these two commands, events such as 'abc' would be enabled (via the second enabler) but an event 'abd' would not get enabled (as it only matches the first enabler but is excluded in it).

However, when I looked into how to implement this, it seemed that the most reasonable solution would require changes to the event interface down to the tracer level structures, which I would not want to have.
For the particular use case that I have in mind, the enable-event "!ab*,!ac*" syntax will be quite sufficient. Using this syntax, the "!"-events override any other enablers. That is, if a new event matches with any "!"-event enabler, the event will not be enabled at all, even if it matches any non-"!"-enablers. In a UST patch I sent earlier, the functionality is exactly this. I also submitted a TOOLS patch for the --exclude option, but that is implemented only as a convenient shortcut to "!" - that is, lttng enable-event -u "a*" --exclude "ab*,ac*" will be interpreted as lttng enable-event -u "!ab*,!ac*,a*" .

Cheers,
JP




More information about the lttng-dev mailing list