DPDK  20.05.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 
35 struct rte_tel_data;
36 
44  RTE_TEL_STRING_VAL,
47 };
48 
59 __rte_experimental
60 int
61 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
62 
71 __rte_experimental
72 int
73 rte_tel_data_start_dict(struct rte_tel_data *d);
74 
85 __rte_experimental
86 int
87 rte_tel_data_string(struct rte_tel_data *d, const char *str);
88 
101 __rte_experimental
102 int
103 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
104 
117 __rte_experimental
118 int
119 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
120 
133 __rte_experimental
134 int
135 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
136 
151 __rte_experimental
152 int
153 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
154  const char *val);
155 
169 __rte_experimental
170 int
171 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
172 
186 __rte_experimental
187 int
188 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
189  const char *name, uint64_t val);
190 
208 typedef int (*telemetry_cb)(const char *cmd, const char *params,
209  struct rte_tel_data *info);
210 
220 typedef void * (*handler)(void *sock_id);
221 
239 __rte_experimental
240 int
241 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
242 
260 __rte_experimental
261 int
262 rte_telemetry_init(const char *runtime_dir, rte_cpuset_t *cpuset,
263  const char **err_str);
264 
265 #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:43