From mboxrd@z Thu Jan 1 00:00:00 1970 From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers) Date: Wed, 13 Apr 2011 16:59:08 -0400 Subject: [ltt-dev] [RFC] UST instrumentation API Message-ID: <20110413205908.GA10716@Krystal> OK, so I took care of most of the instrumentation API, but some questions need discussion. * Tracepoints: - Currently handled: #include 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(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