[ltt-dev] [RFC] UST instrumentation API

David Goulet david.goulet at polymtl.ca
Thu Apr 14 10:53:23 EDT 2011


Hola,

I like the idea of making thing more simpler and more "namespace 
oriented" for ust.

On 11-04-13 04:59 PM, Mathieu Desnoyers wrote:
> OK, so I took care of most of the instrumentation API, but some
> questions need discussion.
>
> ->  given that the API presented to users will be "TRACE_EVENT()" (which
> we should rename to something else to eliminate confusion), it might
> make sense to make both of DECLARE_TRACE and DEFINE_TRACE internal to
> tracepoints and don't expose them to the users.

If I understand correctly what we want for ust, marker are staying, 
tracepoint are getting replaced by trace event? So, considering this 
fact, those two macros (declare_ and define_) should simply be not 
supported anymore and eventually get rid of them?

>
> TRACE_EVENT() could be the macro replacing these, but I would recommend
> using a name like "TRACEPOINT_TEMPLATE()", which is what it really is.
>

A good concern raised by Steven R. is the fact that "TRACE_EVENT" can 
and will confuse people with the ones in the kernel (in terms of google 
search mostly!). So, a name like "TRACEPOINT_TEMPLATE" says to me 
(normal person, no tracing knowledge, maybe my grand mother!) : this is 
tracepoint related, nothing to do with trace event and I don't want to 
modify a template right... (totally confused :P).

So, should it be more "TRACE EVENT" user-space oriented for the name?

UTRACE_EVENT --> confusing with utrace
UPROBE... --> again, confusing with uprobe...
UST_TRACE_EVENT --> ust stands for user-space tracing (and not LTTng 
user-space tracer :P)

... maybe we need more brainstorm... I'm out of ideas...

>
> UST Markers (main API members):
>
> #include<ust/marker.h>
>
> ust_marker(name, "fmt", ...)
> UST_MARKER_NOARGS
> GET_UST_MARKER()
> DEFINE_UST_MARKER(name, ...)
> ust_marker_probe_unregister()
> ust_marker_probe_register()
> ust_marker_synchronize_unregister()
> UST_MARKER_LIB
>
> Will be eventually phased-out with the new TRACEPOINT_TEMPLATE() and CTF:
> DEFINE_UST_MARKER_TP()
> ust_marker_tp()
>

No problem. Simpler is better and this API will be UST specific so rtfm 
at that point :).

Thanks
David

> Feedback is welcome,
>
> Thanks,
>
> Mathieu
>

-- 
David Goulet
LTTng project, DORSAL Lab.

PGP/GPG : 1024D/16BD8563
BE3C 672B 9331 9796 291A  14C6 4AF7 C14B 16BD 8563




More information about the lttng-dev mailing list