[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