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
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev