* Woegerer, Paul ([email protected]) wrote: > Hi David, > > On 02/14/2013 05:52 AM, David OShea wrote: > > Hi, > > > > My understanding (hopefully someone will correct me if I'm wrong) is that > > each time you invoke 'lttng enable-event', your specification for the > > events you want enabled is stored and applied, and/or potentially applied > > later if a new application connects to the session daemon. All 'lttng > > disable-event' does is remove one of the specifications you previously > > provided to 'lttng enable-event', so you can't say 'enable-event *' and > > then 'disable-event foo:*' to get all events except 'foo:*'. > > > > If you could constrain the application to use a particular trace provider > > name for all of its tracepoints, say "app", then you could just do 'lttng > > enable-event app:*'. If you can't do that, then I think you need to fall > > back on getting a list of all the available tracepoints using 'lttng list > > -u', parsing this to find all of the available tracepoints, extracting the > > trace provider name from them, then using 'lttng enable-event <provider>:*' > > for each provider other than the provider from your uninteresting library. > > I think there are APIs that can be used instead of issuing the 'lttng' > > commands. > > > > I would certainly also like a way to be able to, say, enable all events > > other than foo:* and bar:* using one command. > > I submitted a patch that does exactly this a while ago: > http://lists.lttng.org/pipermail/lttng-dev/2012-June/018179.html > > Although it's not upstream it works well for us.
Hi Paul, I would be interested to see this feature upstream. Previously was not a good timing to pull it in, because we were adding the concept of event "enablers" within lttng-ust. One thing I'm curious about is how you present the logical combination with exlusion match are present. For instance, if we only have inclusion, we get: lttng enable-event 'a' lttng enable-event 'c' lttng enable-event 'zc*' it turns into : (a || c || zc*) I expect that negation would look like: lttng enable-event 'a' lttng enable-event '!abc*' lttng enable-event 'c' lttng enable-event '!cxx' lttng enable-event 'zc*' -> !(abc* || cxx) || (a || c || zc*) Am I correct ? If yes, we should expand lttng-tools lttng(1) manpage and cmd help with this info. Can you make sure it works well with lttng-ust master branch ? Thanks, Mathieu > > Thanks, > Paul > > > > > > Regards, > > David > > > >> -----Original Message----- > >> From: Ikaheimonen, JP [mailto:[email protected]] > >> Sent: Friday, 8 February 2013 7:56 PM > >> To: [email protected] > >> Subject: [lttng-dev] How to disable an event that's been enabled by a > >> wildcard selection or -a? > >> > >> Consider the following scenario. > >> I want to write a script that traces all UST tracepoints of a given > >> application. I have no idea what the names of these tracepoints are. > >> Also, I know that the application uses a library that contains some > >> tracepoints I am not interested about. Now I want to trace all UST > >> tracepoints except the ones I already know about. Is this possible with > >> the lttng commands? > >> > >> If I enable all tracepoints with "lttng enable-event -u -a" I get all > >> events, even those I do not want. I've tried using "lttng disable- > >> event", and "lttng enable-event" with a filter, but I cannot seem to be > >> able to get rid of the specific events. > >> > >> Thank you, > >> > >> JP Ikaheimonen > >> Mentor Graphics Embedded Systems Division > >> Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS > >> > >> Android is a trademark of Google Inc. Use of this trademark is subject > >> to Google Permissions. > >> Linux is the registered trademark of Linus Torvalds in the U.S. and > >> other countries. > >> > >> _______________________________________________ > >> lttng-dev mailing list > >> [email protected] > >> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev > > > > ---------------------------------------------------------------------- > > The information contained in this transmission may be confidential. Any > > disclosure, copying, or further distribution of confidential information is > > not permitted unless such privilege is explicitly granted in writing by > > Quantum. Quantum reserves the right to have electronic communications, > > including email and attachments, sent across its networks filtered through > > anti virus and spam software programs and retain such messages in order to > > comply with applicable data security and retention requirements. Quantum is > > not responsible for the proper and complete transmission of the substance > > of this communication or for any delay in its receipt. > > > > _______________________________________________ > > lttng-dev mailing list > > [email protected] > > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev > > > > > -- > Paul Woegerer | SW Development Engineer > http://go.mentor.com/sourceryanalyzer > > Mentor Embedded(tm) | Prinz Eugen Straße 72/2/4, Vienna, 1040 Austria > Nucleus® | Linux® | Android(tm) | Services | UI | Multi-OS > > Android is a trademark of Google Inc. Use of this trademark is subject > to Google Permissions. > Linux is the registered trademark of Linus Torvalds in the U.S. and > other countries. > > _______________________________________________ > lttng-dev mailing list > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
