DPDK  20.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 <rte_compat.h>
7 
8 #ifndef _RTE_TELEMETRY_H_
9 #define _RTE_TELEMETRY_H_
10 
12 #define TELEMETRY_MAX_CALLBACKS 64
13 
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,
49 };
50 
61 __rte_experimental
62 int
63 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
64 
73 __rte_experimental
74 int
75 rte_tel_data_start_dict(struct rte_tel_data *d);
76 
87 __rte_experimental
88 int
89 rte_tel_data_string(struct rte_tel_data *d, const char *str);
90 
103 __rte_experimental
104 int
105 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
106 
119 __rte_experimental
120 int
121 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
122 
135 __rte_experimental
136 int
137 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
138 
153 __rte_experimental
154 int
155 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
156  const char *val);
157 
171 __rte_experimental
172 int
173 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
174 
188 __rte_experimental
189 int
190 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
191  const char *name, uint64_t val);
192 
210 typedef int (*telemetry_cb)(const char *cmd, const char *params,
211  struct rte_tel_data *info);
212 
222 typedef void * (*handler)(void *sock_id);
223 
241 __rte_experimental
242 int
243 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
244 
262 __rte_experimental
263 int
264 rte_telemetry_init(const char *runtime_dir, rte_cpuset_t *cpuset,
265  const char **err_str);
266 
267 #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 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_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