Improve tracef/tracelog to use the stack for small strings
[lttng-ust.git] / src / lib / lttng-ust / tracelog.c
CommitLineData
0cb03c85 1/*
c0c0989a 2 * SPDX-License-Identifier: MIT
0cb03c85 3 *
c0c0989a 4 * Copyright (C) 2013-2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
0cb03c85
MD
5 */
6
0cb03c85
MD
7#define _LGPL_SOURCE
8#include <stdio.h>
9d315d6d 9#include "common/macros.h"
1c0569ec 10#include "common/tracer.h"
0cb03c85 11
6ba0c2b2
MD
12/* The tracepoint definition is public, but the provider definition is hidden. */
13#define LTTNG_UST_TRACEPOINT_PROVIDER_HIDDEN_DEFINITION
14
660323e6 15#define LTTNG_UST_TRACEPOINT_CREATE_PROBES
88c7c4ea 16#define LTTNG_UST_TRACEPOINT_DEFINE
0cb03c85
MD
17#include "lttng-ust-tracelog-provider.h"
18
1c0569ec
NL
19#include "tracelog-internal.h"
20
1698631b 21#define LTTNG_UST_TRACELOG_CB(level) \
1698631b 22 void lttng_ust__vtracelog_##level(const char *file, \
4199ddc7
MJ
23 int line, const char *func, \
24 const char *fmt, va_list ap) \
25 __attribute__ ((format(printf, 4, 0))); \
26 \
1698631b 27 void lttng_ust__vtracelog_##level(const char *file, \
4b4a1337
MJ
28 int line, const char *func, \
29 const char *fmt, va_list ap); \
1698631b 30 void lttng_ust__vtracelog_##level(const char *file, \
bd9bb3c7
MRB
31 int line, const char *func, \
32 const char *fmt, va_list ap) \
33 { \
1c0569ec
NL
34 LTTNG_UST_TRACELOG_VALIST(fmt, ap, \
35 lttng_ust_tracepoint_cb_lttng_ust_tracelog___##level, \
36 file, line, func, msg, len, LTTNG_UST_CALLER_IP()); \
bd9bb3c7
MRB
37 } \
38 \
1698631b 39 void lttng_ust__tracelog_##level(const char *file, \
4199ddc7
MJ
40 int line, const char *func, \
41 const char *fmt, ...) \
42 __attribute__ ((format(printf, 4, 5))); \
43 \
1698631b 44 void lttng_ust__tracelog_##level(const char *file, \
4b4a1337
MJ
45 int line, const char *func, \
46 const char *fmt, ...); \
1698631b 47 void lttng_ust__tracelog_##level(const char *file, \
bd9bb3c7
MRB
48 int line, const char *func, \
49 const char *fmt, ...) \
50 { \
1c0569ec
NL
51 LTTNG_UST_TRACELOG_VARARG(fmt, \
52 lttng_ust_tracepoint_cb_lttng_ust_tracelog___##level, \
53 file, line, func, msg, len, LTTNG_UST_CALLER_IP()); \
0cb03c85
MD
54 }
55
1698631b
MJ
56LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG)
57LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT)
58LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT)
59LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR)
60LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING)
61LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE)
62LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO)
63LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM)
64LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM)
65LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS)
66LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE)
67LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT)
68LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION)
69LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE)
70LTTNG_UST_TRACELOG_CB(LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG)
This page took 0.03655 seconds and 4 git commands to generate.