DPDK  22.03.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 
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 
72 int
73 rte_tel_data_start_dict(struct rte_tel_data *d);
74 
85 int
86 rte_tel_data_string(struct rte_tel_data *d, const char *str);
87 
100 int
101 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
102 
115 int
116 rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
117 
130 int
131 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
132 
150 int
151 rte_tel_data_add_array_container(struct rte_tel_data *d,
152  struct rte_tel_data *val, int keep);
153 
168 int
169 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
170  const char *val);
171 
185 int
186 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
187 
201 int
202 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
203  const char *name, uint64_t val);
204 
224 int
225 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
226  struct rte_tel_data *val, int keep);
227 
245 typedef int (*telemetry_cb)(const char *cmd, const char *params,
246  struct rte_tel_data *info);
247 
257 typedef void * (*handler)(void *sock_id);
258 
276 int
277 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
278 
279 
287 struct rte_tel_data *
288 rte_tel_data_alloc(void);
289 
298 void
299 rte_tel_data_free(struct rte_tel_data *data);
300 
301 #ifdef __cplusplus
302 }
303 #endif
304 
305 #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