DPDK  21.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 #include <rte_compat.h>
8 
9 #ifndef _RTE_TELEMETRY_H_
10 #define _RTE_TELEMETRY_H_
11 
13 #define RTE_TEL_MAX_STRING_LEN 128
15 #define RTE_TEL_MAX_SINGLE_STRING_LEN 8192
17 #define RTE_TEL_MAX_DICT_ENTRIES 256
19 #define RTE_TEL_MAX_ARRAY_ENTRIES 512
20 
32 struct rte_tel_data;
33 
41  RTE_TEL_STRING_VAL,
45 };
46 
57 int
58 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
59 
68 int
69 rte_tel_data_start_dict(struct rte_tel_data *d);
70 
81 int
82 rte_tel_data_string(struct rte_tel_data *d, const char *str);
83 
96 int
97 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
98 
111 int
112 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
113 
126 int
127 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
128 
146 int
147 rte_tel_data_add_array_container(struct rte_tel_data *d,
148  struct rte_tel_data *val, int keep);
149 
164 int
165 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
166  const char *val);
167 
181 int
182 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
183 
197 int
198 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
199  const char *name, uint64_t val);
200 
220 int
221 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
222  struct rte_tel_data *val, int keep);
223 
241 typedef int (*telemetry_cb)(const char *cmd, const char *params,
242  struct rte_tel_data *info);
243 
253 typedef void * (*handler)(void *sock_id);
254 
272 int
273 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
274 
275 
283 struct rte_tel_data *
285 
294 void
295 rte_tel_data_free(struct rte_tel_data *data);
296 
297 #endif
int rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, const char *val)
int rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val)
int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
int rte_tel_data_string(struct rte_tel_data *d, const char *str)
int rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help)
int(* telemetry_cb)(const char *cmd, const char *params, struct rte_tel_data *info)
int rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name, struct rte_tel_data *val, int keep)
int rte_tel_data_add_array_int(struct rte_tel_data *d, int x)
struct rte_tel_data * rte_tel_data_alloc(void)
int rte_tel_data_add_array_container(struct rte_tel_data *d, struct rte_tel_data *val, int keep)
int rte_tel_data_start_dict(struct rte_tel_data *d)
int rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x)
int rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str)
int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val)
rte_tel_value_type
Definition: rte_telemetry.h:40
@ RTE_TEL_INT_VAL
Definition: rte_telemetry.h:42
@ RTE_TEL_U64_VAL
Definition: rte_telemetry.h:43
@ RTE_TEL_CONTAINER
Definition: rte_telemetry.h:44