[ltt-dev] LTTng-UST tracepoint API updates

Matthew Khouzam matthew.khouzam at ericsson.com
Mon Nov 14 17:14:03 EST 2011



On 11-11-14 05:09 PM, Mathieu Desnoyers wrote:
> * Matthew Khouzam (matthew.khouzam at ericsson.com) wrote:
>> To clarify:
>> A tracepoint event now takes
>> provider name /*a string no spaces, starts with a letter, alpha numeric
>> + _. */
>> the event name /* same as above */
>> TP_ARGS( type , arg , ... ) /* every odd element is the type of the
>> argument in the next place, must be a c type, not void... that's looking
>> for trouble */
> yep. Although we might be able to deal with TP_ARGS(void) without much
> problem, but I'd need to adapt the code to support it.
>
>>                                          /* every even element is the
>> name of the argument */
>>                                          /* theres always an even number
>> of args */
>> TP_FIELDS( ctf_type( type, fieldname, arg) ... ));
>>
>> I like the improvements... I don't know if it's just me, but this makes
>> TP_ARGS and ctf_type much more harmonized, IMO.
> agreed.
>
>> Why is ctf_type not CTF_TYPE, it is a macro and can be clearer to the
>> user that the args need not be declared, they can be strings without
>> quotes or types? I'm sure you have a well thought out answer. :)
> too much CAPS makes my eyes hurt ;)
>
>> I really like that TP_ARGS() works.
>
> :)

To better clarify, I really like that tp_args_noargs has been banished.
>
> Mathieu
>>
>>
>>
>>
>> On 11-11-13 02:12 PM, Mathieu Desnoyers wrote:
>>> * Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
>>>> Hi,
>>>>
>>>> I introduced the following API changes for LTTng-UST, after receiving
>>>> very appropriate feedback:
>>>>
>>>>     Tracepoint API change: rename TRACEPOINT_SYSTEM to TRACEPOINT_PROVIDER
>>>>     
>>>>     Eliminates the confusion between the first TRACEPOINT_EVENT "provider"
>>>>     argument and the "TRACEPOINT_SYSTEM", which need to be the same thing.
>>>>     
>>>> and made sure TRACEPOINT_PROVIDER always match TRACEPOINT_SYSTEM by
>>>> adding a compiler warning:
>>>>
>>>>     Tracepoints: add provider mismatch check
>>>>     
>>>> Finally, rename TP_ARGS to TP_VARS, in preparation for combining
>>>> TP_PROTO and TP_ARGS:
>>>>
>>>>     tracepoint API change: rename TP_ARGS to TP_VARS
>>>>     
>>>>     In preparation of folding of both TP_PROTO and TP_ARGS into TP_ARGS.
>>>>
>>>> Hopefully I'll succeed to getting both TP_PROTO and TP_VARS combined
>>>> into TP_ARGS, but even if this does not work out, TP_VARS seems much
>>>> more appropriate than TP_ARGS here.
>>> The API change is completed by the following commit:
>>>
>>> commit 63ef26930fe613a266cc69f5089cf643dd59b012
>>> Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>>> Date:   Sun Nov 13 14:07:57 2011 -0500
>>>
>>>     Tracepoint API change: combine TP_PROTO and TP_VARS into TP_ARGS, remove _NOARGS macros
>>>     
>>>     New API for tracepoints, combining the TP_PROTO and TP_VARS arguments
>>>     into a single "TP_ARGS" macro. It takes up to 10 parameters (from 0 to
>>>     10). The "_NOARGS" special-case is not needed anymore: it can be
>>>     achieved simply by passing an empty TP_ARGS:
>>>     
>>>       TP_ARGS(),
>>>     
>>>     to the standard tracepoint event declarations.
>>>     
>>>     Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>>>
>>> Best regards,
>>>
>>> Mathieu
>>>
>>>> Thanks,
>>>>
>>>> Mathieu
>>>>
>>>> -- 
>>>> Mathieu Desnoyers
>>>> Operating System Efficiency R&D Consultant
>>>> EfficiOS Inc.
>>>> http://www.efficios.com
>> _______________________________________________
>> ltt-dev mailing list
>> ltt-dev at lists.casi.polymtl.ca
>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>>




More information about the lttng-dev mailing list