* 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

Reply via email to