trace: add generic tracepoints
[dpdk.git] / lib / librte_eal / include / rte_eal_trace.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4
5 #ifndef _RTE_EAL_TRACE_H_
6 #define _RTE_EAL_TRACE_H_
7
8 /**
9  * @file
10  *
11  * API for EAL trace support
12  */
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #include <rte_trace_point.h>
19
20 /* Generic */
21 RTE_TRACE_POINT(
22         rte_eal_trace_generic_void,
23         RTE_TRACE_POINT_ARGS(void),
24 )
25
26 RTE_TRACE_POINT(
27         rte_eal_trace_generic_u64,
28         RTE_TRACE_POINT_ARGS(uint64_t in),
29         rte_trace_point_emit_u64(in);
30 )
31
32 RTE_TRACE_POINT(
33         rte_eal_trace_generic_u32,
34         RTE_TRACE_POINT_ARGS(uint32_t in),
35         rte_trace_point_emit_u32(in);
36 )
37
38 RTE_TRACE_POINT(
39         rte_eal_trace_generic_u16,
40         RTE_TRACE_POINT_ARGS(uint16_t in),
41         rte_trace_point_emit_u16(in);
42 )
43
44 RTE_TRACE_POINT(
45         rte_eal_trace_generic_u8,
46         RTE_TRACE_POINT_ARGS(uint8_t in),
47         rte_trace_point_emit_u8(in);
48 )
49
50 RTE_TRACE_POINT(
51         rte_eal_trace_generic_i64,
52         RTE_TRACE_POINT_ARGS(int64_t in),
53         rte_trace_point_emit_i64(in);
54 )
55
56 RTE_TRACE_POINT(
57         rte_eal_trace_generic_i32,
58         RTE_TRACE_POINT_ARGS(int32_t in),
59         rte_trace_point_emit_i32(in);
60 )
61
62 RTE_TRACE_POINT(
63         rte_eal_trace_generic_i16,
64         RTE_TRACE_POINT_ARGS(int16_t in),
65         rte_trace_point_emit_i16(in);
66 )
67
68 RTE_TRACE_POINT(
69         rte_eal_trace_generic_i8,
70         RTE_TRACE_POINT_ARGS(int8_t in),
71         rte_trace_point_emit_i8(in);
72 )
73
74 RTE_TRACE_POINT(
75         rte_eal_trace_generic_int,
76         RTE_TRACE_POINT_ARGS(int in),
77         rte_trace_point_emit_int(in);
78 )
79
80 RTE_TRACE_POINT(
81         rte_eal_trace_generic_long,
82         RTE_TRACE_POINT_ARGS(long in),
83         rte_trace_point_emit_long(in);
84 )
85
86 RTE_TRACE_POINT(
87         rte_eal_trace_generic_float,
88         RTE_TRACE_POINT_ARGS(float in),
89         rte_trace_point_emit_float(in);
90 )
91
92 RTE_TRACE_POINT(
93         rte_eal_trace_generic_double,
94         RTE_TRACE_POINT_ARGS(double in),
95         rte_trace_point_emit_double(in);
96 )
97
98 RTE_TRACE_POINT(
99         rte_eal_trace_generic_ptr,
100         RTE_TRACE_POINT_ARGS(const void *ptr),
101         rte_trace_point_emit_ptr(ptr);
102 )
103
104 RTE_TRACE_POINT(
105         rte_eal_trace_generic_str,
106         RTE_TRACE_POINT_ARGS(const char *str),
107         rte_trace_point_emit_string(str);
108 )
109
110 RTE_TRACE_POINT(
111         rte_eal_trace_generic_func,
112         RTE_TRACE_POINT_ARGS(const char *func),
113         rte_trace_point_emit_string(func);
114 )
115
116 #define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__)
117
118 #ifdef __cplusplus
119 }
120 #endif
121
122 #endif /* _RTE_EAL_TRACE_H_ */