DPDK  21.08.0
rte_telemetry.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Intel Corporation
3  */
4 
5 #include <stdint.h>
6 #include <sched.h>
7 
8 #include <rte_compat.h>
9 
10 #ifndef _RTE_TELEMETRY_H_
11 #define _RTE_TELEMETRY_H_
12 
14 #define RTE_TEL_MAX_STRING_LEN 64
15 
16 #define RTE_TEL_MAX_SINGLE_STRING_LEN 8192
17 
18 #define RTE_TEL_MAX_DICT_ENTRIES 256
19 
20 #define RTE_TEL_MAX_ARRAY_ENTRIES 512
21 
37 struct rte_tel_data;
38 
46  RTE_TEL_STRING_VAL,
50 };
51 
62 __rte_experimental
63 int
64 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
65 
74 __rte_experimental
75 int
76 rte_tel_data_start_dict(struct rte_tel_data *d);
77 
88 __rte_experimental
89 int
90 rte_tel_data_string(struct rte_tel_data *d, const char *str);
91 
104 __rte_experimental
105 int
106 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
107 
120 __rte_experimental
121 int
122 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
123 
136 __rte_experimental
137 int
138 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
139 
157 __rte_experimental
158 int
159 rte_tel_data_add_array_container(struct rte_tel_data *d,
160  struct rte_tel_data *val, int keep);
161 
176 __rte_experimental
177 int
178 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
179  const char *val);
180 
194 __rte_experimental
195 int
196 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
197 
211 __rte_experimental
212 int
213 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
214  const char *name, uint64_t val);
215 
235 __rte_experimental
236 int
237 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
238  struct rte_tel_data *val, int keep);
239 
257 typedef int (*telemetry_cb)(const char *cmd, const char *params,
258  struct rte_tel_data *info);
259 
269 typedef void * (*handler)(void *sock_id);
270 
288 __rte_experimental
289 int
290 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
291 
292 
300 __rte_experimental
301 struct rte_tel_data *
302 rte_tel_data_alloc(void);
303 
312 __rte_experimental
313 void
314 rte_tel_data_free(struct rte_tel_data *data);
315 
316 #endif
__rte_experimental int rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x)
__rte_experimental int rte_tel_data_string(struct rte_tel_data *d, const char *str)
__rte_experimental int rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, const char *val)
__rte_experimental struct rte_tel_data * rte_tel_data_alloc(void)
__rte_experimental int rte_tel_data_start_dict(struct rte_tel_data *d)
__rte_experimental int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
__rte_experimental int rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val)
__rte_experimental int rte_tel_data_add_array_int(struct rte_tel_data *d, int x)
__rte_experimental int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val)
__rte_experimental int rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name, struct rte_tel_data *val, int keep)
__rte_experimental int rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help)
__rte_experimental int rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str)
int(* telemetry_cb)(const char *cmd, const char *params, struct rte_tel_data *info)
rte_tel_value_type
Definition: rte_telemetry.h:45
__rte_experimental int rte_tel_data_add_array_container(struct rte_tel_data *d, struct rte_tel_data *val, int keep)