DPDK  22.11.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 
7 
8 #ifndef _RTE_TELEMETRY_H_
9 #define _RTE_TELEMETRY_H_
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
16 #define RTE_TEL_MAX_STRING_LEN 128
17 
18 #define RTE_TEL_MAX_SINGLE_STRING_LEN 8192
19 
20 #define RTE_TEL_MAX_DICT_ENTRIES 256
21 
22 #define RTE_TEL_MAX_ARRAY_ENTRIES 512
23 
35 struct rte_tel_data;
36 
44  RTE_TEL_STRING_VAL,
48 };
49 
60 int
61 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
62 
75 int
76 rte_tel_data_start_dict(struct rte_tel_data *d);
77 
88 int
89 rte_tel_data_string(struct rte_tel_data *d, const char *str);
90 
103 int
104 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
105 
118 int
119 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
120 
133 int
134 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
135 
153 int
154 rte_tel_data_add_array_container(struct rte_tel_data *d,
155  struct rte_tel_data *val, int keep);
156 
172 int
173 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
174  const char *val);
175 
190 int
191 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
192 
207 int
208 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
209  const char *name, uint64_t val);
210 
231 int
232 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
233  struct rte_tel_data *val, int keep);
234 
252 typedef int (*telemetry_cb)(const char *cmd, const char *params,
253  struct rte_tel_data *info);
254 
264 typedef void * (*handler)(void *sock_id);
265 
283 int
284 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
285 
286 
294 struct rte_tel_data *
295 rte_tel_data_alloc(void);
296 
305 void
306 rte_tel_data_free(struct rte_tel_data *data);
307 
308 #ifdef __cplusplus
309 }
310 #endif
311 
312 #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:43