DPDK  22.11.5
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 #ifndef _RTE_TELEMETRY_H_
6 #define _RTE_TELEMETRY_H_
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #include <stdint.h>
13 
15 #define RTE_TEL_MAX_STRING_LEN 128
16 
17 #define RTE_TEL_MAX_SINGLE_STRING_LEN 8192
18 
19 #define RTE_TEL_MAX_DICT_ENTRIES 256
20 
21 #define RTE_TEL_MAX_ARRAY_ENTRIES 512
22 
34 struct rte_tel_data;
35 
43  RTE_TEL_STRING_VAL,
47 };
48 
59 int
60 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
61 
74 int
75 rte_tel_data_start_dict(struct rte_tel_data *d);
76 
87 int
88 rte_tel_data_string(struct rte_tel_data *d, const char *str);
89 
102 int
103 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
104 
117 int
118 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
119 
132 int
133 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
134 
152 int
153 rte_tel_data_add_array_container(struct rte_tel_data *d,
154  struct rte_tel_data *val, int keep);
155 
171 int
172 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
173  const char *val);
174 
189 int
190 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
191 
206 int
207 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
208  const char *name, uint64_t val);
209 
230 int
231 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
232  struct rte_tel_data *val, int keep);
233 
251 typedef int (*telemetry_cb)(const char *cmd, const char *params,
252  struct rte_tel_data *info);
253 
263 typedef void * (*handler)(void *sock_id);
264 
282 int
283 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
284 
285 
293 struct rte_tel_data *
294 rte_tel_data_alloc(void);
295 
304 void
305 rte_tel_data_free(struct rte_tel_data *data);
306 
307 #ifdef __cplusplus
308 }
309 #endif
310 
311 #endif
int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val)
int rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x)
int rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, const char *val)
int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
int rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str)
int rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help)
int rte_tel_data_add_array_container(struct rte_tel_data *d, struct rte_tel_data *val, int keep)
int rte_tel_data_add_array_int(struct rte_tel_data *d, int x)
int rte_tel_data_start_dict(struct rte_tel_data *d)
int rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name, struct rte_tel_data *val, int keep)
struct rte_tel_data * rte_tel_data_alloc(void)
int(* telemetry_cb)(const char *cmd, const char *params, struct rte_tel_data *info)
int rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val)
int rte_tel_data_string(struct rte_tel_data *d, const char *str)
rte_tel_value_type
Definition: rte_telemetry.h:42