From 1698631bb3fbab41277b3953e193dd2fd4a74afa Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Wed, 21 Apr 2021 11:19:16 -0400 Subject: [PATCH] Tracepoint API namespacing tracelog The ABI bump gives us the opportunity to namespace all public symbols under the 'lttng_ust_' prefix. Namespace all API symbols and macros under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep compatibility with the previous API. Change-Id: I60a6f7838ddf60ef43c3017a50ed24c8bf188a43 Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- doc/examples/demo-tracelog/demo-tracelog.c | 2 +- doc/examples/demo-tracelog/demo-vtracelog.c | 2 +- include/lttng/tp/lttng-ust-tracelog.h | 32 ++++++------ include/lttng/tracelog.h | 57 ++++++++++++--------- src/lib/lttng-ust/tracelog.c | 52 +++++++++---------- 5 files changed, 76 insertions(+), 69 deletions(-) diff --git a/doc/examples/demo-tracelog/demo-tracelog.c b/doc/examples/demo-tracelog/demo-tracelog.c index 5a7f0f96..35450c88 100644 --- a/doc/examples/demo-tracelog/demo-tracelog.c +++ b/doc/examples/demo-tracelog/demo-tracelog.c @@ -25,7 +25,7 @@ int main(int argc, char **argv) fprintf(stderr, "Tracing... "); for (i = 0; i < 5; i++) { - tracelog(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR, "Error condition %d", i); + lttng_ust_tracelog(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR, "Error condition %d", i); } fprintf(stderr, " done.\n"); return 0; diff --git a/doc/examples/demo-tracelog/demo-vtracelog.c b/doc/examples/demo-tracelog/demo-vtracelog.c index 05b496f5..69e7d5d2 100644 --- a/doc/examples/demo-tracelog/demo-vtracelog.c +++ b/doc/examples/demo-tracelog/demo-vtracelog.c @@ -20,7 +20,7 @@ void print_err(const char* msg, ...) va_list ap; va_start(ap, msg); - vtracelog(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR, msg, ap); + lttng_ust_vtracelog(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR, msg, ap); va_end(ap); } diff --git a/include/lttng/tp/lttng-ust-tracelog.h b/include/lttng/tp/lttng-ust-tracelog.h index 6aa3e8a9..497b81aa 100644 --- a/include/lttng/tp/lttng-ust-tracelog.h +++ b/include/lttng/tp/lttng-ust-tracelog.h @@ -19,25 +19,25 @@ LTTNG_UST_TRACEPOINT_EVENT_CLASS(lttng_ust_tracelog, tlclass, ) ) -#define TP_TRACELOG_TEMPLATE(_level_enum) \ +#define LTTNG_UST_TP_TRACELOG_TEMPLATE(_level_enum) \ LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(lttng_ust_tracelog, tlclass, _level_enum, \ LTTNG_UST_TP_ARGS(const char *, file, int, line, const char *, func, \ const char *, msg, unsigned int, len, void *, ip) \ ) \ LTTNG_UST_TRACEPOINT_LOGLEVEL(lttng_ust_tracelog, _level_enum, _level_enum) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE) -TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE) +LTTNG_UST_TP_TRACELOG_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG) diff --git a/include/lttng/tracelog.h b/include/lttng/tracelog.h index f2009941..e97c8275 100644 --- a/include/lttng/tracelog.h +++ b/include/lttng/tracelog.h @@ -7,55 +7,62 @@ #ifndef _LTTNG_UST_TRACELOG_H #define _LTTNG_UST_TRACELOG_H +#include #include #ifdef __cplusplus extern "C" { #endif -#define TP_TRACELOG_CB_TEMPLATE(level) \ - extern void _lttng_ust_tracelog_##level(const char *file, \ +#define LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(level) \ + extern void lttng_ust__tracelog_##level(const char *file, \ int line, const char *func, const char *fmt, ...) \ __attribute__ ((format(printf, 4, 5))); \ \ - extern void _lttng_ust_vtracelog_##level(const char *file, \ + extern void lttng_ust__vtracelog_##level(const char *file, \ int line, const char *func, const char *fmt, \ va_list ap) \ __attribute__ ((format(printf, 4, 0))); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE); -TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG); - -#undef TP_TRACELOG_CB_TEMPLATE - -#define tracelog(level, fmt, ...) \ +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE); +LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG); + +#undef LTTNG_UST_TP_TRACELOG_CB_TEMPLATE + +#define lttng_ust_tracelog(level, fmt, ...) \ do { \ LTTNG_UST_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \ if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \ - _lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \ + lttng_ust__tracelog_##level(__FILE__, __LINE__, __func__, \ fmt, ## __VA_ARGS__); \ } while (0) -#define vtracelog(level, fmt, ap) \ +#define lttng_ust_vtracelog(level, fmt, ap) \ do { \ if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \ - _lttng_ust_vtracelog_##level(__FILE__, __LINE__, __func__, \ + lttng_ust__vtracelog_##level(__FILE__, __LINE__, __func__, \ fmt, ap); \ } while (0) +#if LTTNG_UST_COMPAT_API(0) +#define TP_TRACELOG_CB_TEMPLATE LTTNG_UST_TP_TRACELOG_CB_TEMPLATE +#define tracelog lttng_ust_tracelog +#define vtracelog lttng_ust_vtracelog +#endif + #ifdef __cplusplus } #endif diff --git a/src/lib/lttng-ust/tracelog.c b/src/lib/lttng-ust/tracelog.c index d079b15a..4a10a641 100644 --- a/src/lib/lttng-ust/tracelog.c +++ b/src/lib/lttng-ust/tracelog.c @@ -12,15 +12,15 @@ #define LTTNG_UST_TRACEPOINT_DEFINE #include "lttng-ust-tracelog-provider.h" -#define TRACELOG_CB(level) \ +#define LTTNG_UST_TRACELOG_CB(level) \ static inline \ - void __lttng_ust_vtracelog_##level(const char *file, \ + void lttng_ust___vtracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, va_list ap) \ __attribute__((always_inline, format(printf, 4, 0))); \ \ static inline \ - void __lttng_ust_vtracelog_##level(const char *file, \ + void lttng_ust___vtracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, va_list ap) \ { \ @@ -38,52 +38,52 @@ return; \ } \ \ - void _lttng_ust_vtracelog_##level(const char *file, \ + void lttng_ust__vtracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, va_list ap) \ __attribute__ ((format(printf, 4, 0))); \ \ - void _lttng_ust_vtracelog_##level(const char *file, \ + void lttng_ust__vtracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, va_list ap); \ - void _lttng_ust_vtracelog_##level(const char *file, \ + void lttng_ust__vtracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, va_list ap) \ { \ - __lttng_ust_vtracelog_##level(file, line, func, fmt, ap); \ + lttng_ust___vtracelog_##level(file, line, func, fmt, ap); \ } \ \ - void _lttng_ust_tracelog_##level(const char *file, \ + void lttng_ust__tracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, ...) \ __attribute__ ((format(printf, 4, 5))); \ \ - void _lttng_ust_tracelog_##level(const char *file, \ + void lttng_ust__tracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, ...); \ - void _lttng_ust_tracelog_##level(const char *file, \ + void lttng_ust__tracelog_##level(const char *file, \ int line, const char *func, \ const char *fmt, ...) \ { \ va_list ap; \ \ va_start(ap, fmt); \ - __lttng_ust_vtracelog_##level(file, line, func, fmt, ap); \ + lttng_ust___vtracelog_##level(file, line, func, fmt, ap); \ va_end(ap); \ } -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE) -TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE) +LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG) -- 2.34.1