From: matthew.khouzam@ericsson.com (Matthew Khouzam)
Subject: [ltt-dev] LTTng-UST tracepoint API updates
Date: Mon, 14 Nov 2011 16:23:38 -0500 [thread overview]
Message-ID: <4EC186DA.1000300@ericsson.com> (raw)
In-Reply-To: <20111113191210.GA10108@Krystal>
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 */
/* 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.
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. :)
I really like that TP_ARGS() works.
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
next prev parent reply other threads:[~2011-11-14 21:23 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-12 18:13 Mathieu Desnoyers
2011-11-13 19:12 ` Mathieu Desnoyers
2011-11-14 21:23 ` Matthew Khouzam [this message]
2011-11-14 22:09 ` Mathieu Desnoyers
2011-11-14 22:14 ` Matthew Khouzam
2011-11-15 1:04 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EC186DA.1000300@ericsson.com \
--to=matthew.khouzam@ericsson.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox