From mboxrd@z Thu Jan 1 00:00:00 1970 From: matthew.khouzam@ericsson.com (Matthew Khouzam) Date: Mon, 14 Nov 2011 17:14:03 -0500 Subject: [ltt-dev] LTTng-UST tracepoint API updates In-Reply-To: <20111114220951.GA14388@Krystal> References: <20111112181304.GA22268@Krystal> <20111113191210.GA10108@Krystal> <4EC186DA.1000300@ericsson.com> <20111114220951.GA14388@Krystal> Message-ID: <4EC192AB.1030203@ericsson.com> 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 >>> 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 >>> >>> 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 >>