Add tracepoint_enabled() macro
[lttng-ust.git] / include / lttng / tracepoint.h
index 63759a20ee3da5f7a7e0beb6f08219c8567abe55..1734c1b7ac8d6c0a5aaedcc9c5e9c4f3db8effc4 100644 (file)
 extern "C" {
 #endif
 
+#define tracepoint_enabled(provider, name) \
+       caa_unlikely(__tracepoint_##provider##___##name.state)
+
+#define do_tracepoint(provider, name, ...) \
+       __tracepoint_cb_##provider##___##name(__VA_ARGS__)
+
 #define tracepoint(provider, name, ...)                                            \
        do {                                                                \
                STAP_PROBEV(provider, name, ## __VA_ARGS__);                \
-               if (caa_unlikely(__tracepoint_##provider##___##name.state)) \
-                       __tracepoint_cb_##provider##___##name(__VA_ARGS__); \
+               if (tracepoint_enabled(provider, name))                     \
+                       do_tracepoint(provider, name, __VA_ARGS__);         \
        } while (0)
 
 #define TP_ARGS(...)       __VA_ARGS__
This page took 0.027584 seconds and 4 git commands to generate.