OK, so I took care of most of the instrumentation API, but some questions need discussion.
* Tracepoints: - Currently handled: #include <ust/tracepoint.h> tracepoint(name, ...) register_tracepoint(name, ...) unregister_tracepoint(name, ...) TRACEPOINT_LIB - Questions/suggestions: About: DECLARE_TRACE() DEFINE_TRACE() -> 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. TRACE_EVENT() could be the macro replacing these, but I would recommend using a name like "TRACEPOINT_TEMPLATE()", which is what it really is. TP_PARAMS() TP_PROTO() TP_ARGS() I recommend to merge all these into "TP_PARAMS()". Through the "TRACEPOINT_TEMPLATE()" macro, these will all become internal anyway, so not exposed to the users. 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() Feedback is welcome, Thanks, Mathieu -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
