[lttng-dev] How to disable an event that's been enabled by a wildcard selection or -a?

Woegerer, Paul Paul_Woegerer at mentor.com
Mon Feb 18 03:47:22 EST 2013


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.

Thanks,
Paul


> 
> Regards,
> David
> 
>> -----Original Message-----
>> From: Ikaheimonen, JP [mailto:jp_ikaheimonen at mentor.com]
>> Sent: Friday, 8 February 2013 7:56 PM
>> To: lttng-dev at lists.lttng.org
>> 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
>> lttng-dev at lists.lttng.org
>> 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
> lttng-dev at lists.lttng.org
> 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.



More information about the lttng-dev mailing list