DPDK  22.11.0-rc0
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 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
17 #define RTE_TEL_MAX_STRING_LEN 128
18 
19 #define RTE_TEL_MAX_SINGLE_STRING_LEN 8192
20 
21 #define RTE_TEL_MAX_DICT_ENTRIES 256
22 
23 #define RTE_TEL_MAX_ARRAY_ENTRIES 512
24 
36 struct rte_tel_data;
37 
45  RTE_TEL_STRING_VAL,
49 };
50 
61 int
62 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
63 
76 int
77 rte_tel_data_start_dict(struct rte_tel_data *d);
78 
89 int
90 rte_tel_data_string(struct rte_tel_data *d, const char *str);
91 
104 int
105 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
106 
119 int
120 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
121 
134 int
135 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
136 
154 int
155 rte_tel_data_add_array_container(struct rte_tel_data *d,
156  struct rte_tel_data *val, int keep);
157 
173 int
174 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
175  const char *val);
176 
191 int
192 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
193 
208 int
209 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
210  const char *name, uint64_t val);
211 
232 int
233 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
234  struct rte_tel_data *val, int keep);
235 
253 typedef int (*telemetry_cb)(const char *cmd, const char *params,
254  struct rte_tel_data *info);
255 
265 typedef void * (*handler)(void *sock_id);
266 
284 int
285 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
286 
287 
295 struct rte_tel_data *
296 rte_tel_data_alloc(void);
297 
306 void
307 rte_tel_data_free(struct rte_tel_data *data);
308 
309 #ifdef __cplusplus
310 }
311 #endif
312 
313 #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:44