[ltt-dev] LTTng-UST tracepoint API updates
Mathieu Desnoyers
compudj at krystal.dyndns.org
Mon Nov 14 17:09:51 EST 2011
* 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.
:)
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
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list