[ltt-dev] [RFC] UST instrumentation API

Nils Carlson nils.carlson at ludd.ltu.se
Thu Apr 14 15:02:55 EDT 2011


On Apr 14, 2011, at 4:53 PM, David Goulet wrote:

> 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?

This sounds good, though it will mean that we will always generate the  
"TRACE_EVENT" part of the tracepoint, that is, no tracepoints that  
don't generate data... But I think this is fine.
>
>>
>> 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...

What about UST_EVENT ? Though I thought we were going to "share" the  
tracepoints, so this might not be a good name, on the other hand, it  
does sound good: Userspace Trace Event, in fact, I would say that we  
can use this name even if we do share it. Its a good description.

>
>>
>> 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 :).

Just one question, these are UST internal right? I mean, not to be  
confused with the ustctl functions?

/Nils

>
> 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
>
> _______________________________________________
> 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