Rename "tsc" to "timestamp"
[lttng-ust.git] / include / lttng / tracelog.h
1 // SPDX-FileCopyrightText: 2013-2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 //
3 // SPDX-License-Identifier: MIT
4
5 #ifndef _LTTNG_UST_TRACELOG_H
6 #define _LTTNG_UST_TRACELOG_H
7
8 #include <lttng/ust-api-compat.h>
9 #include <lttng/tp/lttng-ust-tracelog.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #define LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(level) \
16 extern void lttng_ust__tracelog_##level(const char *file, \
17 int line, const char *func, const char *fmt, ...) \
18 __attribute__ ((format(printf, 4, 5))); \
19 \
20 extern void lttng_ust__vtracelog_##level(const char *file, \
21 int line, const char *func, const char *fmt, \
22 va_list ap) \
23 __attribute__ ((format(printf, 4, 0)));
24
25 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG);
26 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT);
27 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT);
28 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR);
29 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING);
30 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE);
31 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO);
32 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM);
33 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM);
34 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS);
35 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE);
36 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT);
37 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION);
38 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE);
39 LTTNG_UST_TP_TRACELOG_CB_TEMPLATE(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG);
40
41 #undef LTTNG_UST_TP_TRACELOG_CB_TEMPLATE
42
43 #define lttng_ust_tracelog(level, fmt, ...) \
44 do { \
45 LTTNG_UST_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
46 if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \
47 lttng_ust__tracelog_##level(__FILE__, __LINE__, __func__, \
48 fmt, ## __VA_ARGS__); \
49 } while (0)
50
51 #define lttng_ust_vtracelog(level, fmt, ap) \
52 do { \
53 if (caa_unlikely(lttng_ust_tracepoint_lttng_ust_tracelog___##level.state)) \
54 lttng_ust__vtracelog_##level(__FILE__, __LINE__, __func__, \
55 fmt, ap); \
56 } while (0)
57
58 #if LTTNG_UST_COMPAT_API(0)
59 #define TP_TRACELOG_CB_TEMPLATE LTTNG_UST_TP_TRACELOG_CB_TEMPLATE
60 #define tracelog lttng_ust_tracelog
61 #endif
62
63 #ifdef __cplusplus
64 }
65 #endif
66
67 #endif /* _LTTNG_UST_TRACELOG_H */
This page took 0.029972 seconds and 4 git commands to generate.