DPDK  20.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 #include <sched.h>
7 #include <rte_compat.h>
8 
9 #ifndef _RTE_TELEMETRY_H_
10 #define _RTE_TELEMETRY_H_
11 
13 #define TELEMETRY_MAX_CALLBACKS 64
14 
15 #define RTE_TEL_MAX_STRING_LEN 64
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 
38 struct rte_tel_data;
39 
47  RTE_TEL_STRING_VAL,
51 };
52 
63 __rte_experimental
64 int
65 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
66 
75 __rte_experimental
76 int
77 rte_tel_data_start_dict(struct rte_tel_data *d);
78 
89 __rte_experimental
90 int
91 rte_tel_data_string(struct rte_tel_data *d, const char *str);
92 
105 __rte_experimental
106 int
107 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
108 
121 __rte_experimental
122 int
123 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
124 
137 __rte_experimental
138 int
139 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
140 
158 __rte_experimental
159 int
160 rte_tel_data_add_array_container(struct rte_tel_data *d,
161  struct rte_tel_data *val, int keep);
162 
177 __rte_experimental
178 int
179 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
180  const char *val);
181 
195 __rte_experimental
196 int
197 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
198 
212 __rte_experimental
213 int
214 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
215  const char *name, uint64_t val);
216 
236 __rte_experimental
237 int
238 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
239  struct rte_tel_data *val, int keep);
240 
258 typedef int (*telemetry_cb)(const char *cmd, const char *params,
259  struct rte_tel_data *info);
260 
270 typedef void * (*handler)(void *sock_id);
271 
289 __rte_experimental
290 int
291 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
292 
310 __rte_experimental
311 int
312 rte_telemetry_init(const char *runtime_dir, rte_cpuset_t *cpuset,
313  const char **err_str);
314 
322 __rte_experimental
323 struct rte_tel_data *
325 
334 __rte_experimental
335 void
336 rte_tel_data_free(struct rte_tel_data *data);
337 
338 #endif
rte_telemetry_register_cmd
__rte_experimental int rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help)
RTE_TEL_CONTAINER
@ RTE_TEL_CONTAINER
Definition: rte_telemetry.h:50
rte_tel_data_add_array_u64
__rte_experimental int rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x)
RTE_TEL_U64_VAL
@ RTE_TEL_U64_VAL
Definition: rte_telemetry.h:49
rte_tel_data_alloc
__rte_experimental struct rte_tel_data * rte_tel_data_alloc(void)
telemetry_cb
int(* telemetry_cb)(const char *cmd, const char *params, struct rte_tel_data *info)
Definition: rte_telemetry.h:258
rte_tel_data_string
__rte_experimental int rte_tel_data_string(struct rte_tel_data *d, const char *str)
rte_tel_data_add_dict_int
__rte_experimental int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val)
rte_tel_data_start_dict
__rte_experimental int rte_tel_data_start_dict(struct rte_tel_data *d)
RTE_TEL_INT_VAL
@ RTE_TEL_INT_VAL
Definition: rte_telemetry.h:48
rte_tel_data_add_dict_string
__rte_experimental int rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, const char *val)
rte_tel_data_add_dict_u64
__rte_experimental int rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val)
rte_tel_data_add_array_int
__rte_experimental int rte_tel_data_add_array_int(struct rte_tel_data *d, int x)
rte_tel_data_add_array_string
__rte_experimental int rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str)
rte_tel_data_add_array_container
__rte_experimental int rte_tel_data_add_array_container(struct rte_tel_data *d, struct rte_tel_data *val, int keep)
rte_tel_value_type
rte_tel_value_type
Definition: rte_telemetry.h:46
rte_tel_data_start_array
__rte_experimental int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
rte_tel_data_add_dict_container
__rte_experimental int rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name, struct rte_tel_data *val, int keep)