itrace
Instrumented Trace
itrace_types.h
Go to the documentation of this file.
1 
14 #ifndef ITRACE_TYPES_H
15 #define ITRACE_TYPES_H
16 
17 #include <stdint.h>
18 #include <stddef.h>
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
29 #define ITRACE_MAX_NUMBER_REGISTERED_EVENTS 40
30 
32 #define ITRACE_MAX_NUMBER_EVENTS_TO_REGISTER 2056
33 
35 #define ITRACE_MAX_NUMBER_SET_TO_REGISTER 512
36 
38 #define ITRACE_MAX_NUMBER_REGISTERED_DERIVED_METRICS 4
39 
41 #define ITRACE_MAX_LENGTH_FILENAME 512
42 
44 #define ITRACE_MAX_LENGTH_DSP_VERSION 3
45 
47 #define ITRACE_MAX_LENGTH_SECTION_NAME 64
48 
50 #define ITRACE_DEFAULT_SAMPLER_PERIOD_DSP_US 1000
51 
53 #define ITRACE_DEFAULT_SAMPLER_PERIOD_CPU_US 5000
54 
56 #define ITRACE_MIN_SAMPLER_PERIOD_DSP_US 500
57 
59 #define ITRACE_MIN_SAMPLER_PERIOD_CPU_US 1500
60 
62 #define ITRACE_VERSION_MAJOR 5
63 
65 #define ITRACE_VERSION_MINOR 2
66 
68 #define ITRACE_SECURITY_VERSION_MAJOR 1
69 
71 #define ITRACE_SECURITY_VERSION_MINOR 0
72 
74 #define ITRACE_DEFAULT_ROOT_FILENAME "itrace_results/itrace_output"
75 
77 #define ITRACE_DEFAULT_INPUT_FILENAME "itrace_config.txt"
78 
80 #define ITRACE_MIN_LOG_SIZE 1024
81 
82 
91 #ifdef __hexagon__
92 
93 typedef uint32_t section_id_t;
94 #else
95 
96 typedef uint64_t section_id_t;
97 #endif
98 
109 #define ITRACE_EVENT_UNINITIALIZED 0
110 
112 #define ITRACE_NEW_EVENT_SET -1
113 
118 // Undocumented. Used by event header files
120 #define CONCAT_HELPER(PREFIX,NAME) PREFIX##NAME
121 #define CONCAT_PREFIX(PREFIX,NAME) CONCAT_HELPER(PREFIX,NAME)
122 
129 typedef enum {
131  ITRACE_RET_FAILED=0xa0000000,
144 
145 #define ITRACE_RETURN_TYPE_OFFSET ITRACE_RET_FAILED
146 
147 #define ITRACE_RETURN_TYPE_TO_IDX(type) (type-ITRACE_RETURN_TYPE_OFFSET)
148 
161 #define LOCAL_DOMAIN_ID 0x100
162 
164 #define CPU_DOMAIN_ID 0x101
165 
179 
185 
198 #define ITRACE_JSON_FILE 0x1
199 
201 #define ITRACE_CSV_FILE 0x2
202 
204 #define ITRACE_FLAMEGRAPH_FILE 0x4
205 
207 #define ITRACE_GPROF_FILE 0x8
208 
210 #define ITRACE_PROTOBUF_FILE 0x10
211 
213 #define ITRACE_GPROF_JSON_FILE 0x20
214 
234 typedef enum {
240 
242 typedef enum {
248 
264 typedef struct {
265  uint32_t event_id;
266  itrace_processing_mode_t processing_mode;
267  uint64_t (*client_method)(void* client_handle);
269  itrace_registration_status_t status;
270  uint32_t is_disabled;
272 
276 typedef struct {
280 
285 #ifdef __cplusplus
286 }
287 #endif
288 
289 
290 #endif
Definition: itrace_types.h:244
Definition: itrace_types.h:140
Definition: itrace_types.h:133
Definition: itrace_types.h:236
Definition: itrace_types.h:134
Definition: itrace_types.h:142
itrace_registration_status_t status
Definition: itrace_types.h:269
Definition: itrace_types.h:130
void * client_handle
Definition: itrace_types.h:268
int num_values
Definition: itrace_types.h:278
Definition: itrace_types.h:243
Definition: itrace_types.h:246
void * itrace_logger_handle_t
Definition: itrace_types.h:178
Definition: itrace_types.h:131
Definition: itrace_types.h:136
Definition: itrace_types.h:276
#define ITRACE_MAX_NUMBER_REGISTERED_EVENTS
Definition: itrace_types.h:29
uint64_t section_id_t
Definition: itrace_types.h:96
Definition: itrace_types.h:132
Definition: itrace_types.h:137
itrace_processing_mode_t
Definition: itrace_types.h:234
itrace_return_t
Definition: itrace_types.h:129
Definition: itrace_types.h:141
Definition: itrace_types.h:238
Definition: itrace_types.h:135
Definition: itrace_types.h:237
Definition: itrace_types.h:235
Definition: itrace_types.h:139
uint32_t event_id
Definition: itrace_types.h:265
uint32_t is_disabled
Definition: itrace_types.h:270
itrace_processing_mode_t processing_mode
Definition: itrace_types.h:266
itrace_registration_status_t
Definition: itrace_types.h:242
Definition: itrace_types.h:245
Definition: itrace_types.h:138
Definition: itrace_types.h:264
void * itrace_profiler_handle_t
Definition: itrace_types.h:184