Bitcoin ABC  0.26.3
P2P Digital Currency
trace.h
Go to the documentation of this file.
1 // Copyright (c) 2020 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_UTIL_TRACE_H
6 #define BITCOIN_UTIL_TRACE_H
7 
8 #include <config/bitcoin-config.h>
9 
10 #ifdef ENABLE_TRACING
11 
12 #include <sys/sdt.h>
13 
14 #define TRACE(context, event) DTRACE_PROBE(context, event)
15 #define TRACE1(context, event, a) DTRACE_PROBE1(context, event, a)
16 #define TRACE2(context, event, a, b) DTRACE_PROBE2(context, event, a, b)
17 #define TRACE3(context, event, a, b, c) DTRACE_PROBE3(context, event, a, b, c)
18 #define TRACE4(context, event, a, b, c, d) \
19  DTRACE_PROBE4(context, event, a, b, c, d)
20 #define TRACE5(context, event, a, b, c, d, e) \
21  DTRACE_PROBE5(context, event, a, b, c, d, e)
22 #define TRACE6(context, event, a, b, c, d, e, f) \
23  DTRACE_PROBE6(context, event, a, b, c, d, e, f)
24 #define TRACE7(context, event, a, b, c, d, e, f, g) \
25  DTRACE_PROBE7(context, event, a, b, c, d, e, f, g)
26 #define TRACE8(context, event, a, b, c, d, e, f, g, h) \
27  DTRACE_PROBE8(context, event, a, b, c, d, e, f, g, h)
28 #define TRACE9(context, event, a, b, c, d, e, f, g, h, i) \
29  DTRACE_PROBE9(context, event, a, b, c, d, e, f, g, h, i)
30 #define TRACE10(context, event, a, b, c, d, e, f, g, h, i, j) \
31  DTRACE_PROBE10(context, event, a, b, c, d, e, f, g, h, i, j)
32 #define TRACE11(context, event, a, b, c, d, e, f, g, h, i, j, k) \
33  DTRACE_PROBE11(context, event, a, b, c, d, e, f, g, h, i, j, k)
34 #define TRACE12(context, event, a, b, c, d, e, f, g, h, i, j, k, l) \
35  DTRACE_PROBE12(context, event, a, b, c, d, e, f, g, h, i, j, k, l)
36 
37 #else
38 
39 #define TRACE(context, event)
40 #define TRACE1(context, event, a)
41 #define TRACE2(context, event, a, b)
42 #define TRACE3(context, event, a, b, c)
43 #define TRACE4(context, event, a, b, c, d)
44 #define TRACE5(context, event, a, b, c, d, e)
45 #define TRACE6(context, event, a, b, c, d, e, f)
46 #define TRACE7(context, event, a, b, c, d, e, f, g)
47 #define TRACE8(context, event, a, b, c, d, e, f, g, h)
48 #define TRACE9(context, event, a, b, c, d, e, f, g, h, i)
49 #define TRACE10(context, event, a, b, c, d, e, f, g, h, i, j)
50 #define TRACE11(context, event, a, b, c, d, e, f, g, h, i, j, k)
51 #define TRACE12(context, event, a, b, c, d, e, f, g, h, i, j, k, l)
52 
53 #endif
54 
55 #endif // BITCOIN_UTIL_TRACE_H