DPDK  24.11.0-rc3
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 #ifndef _RTE_TELEMETRY_H_
6 #define _RTE_TELEMETRY_H_
7 
8 #include <stdint.h>
9 #include <rte_compat.h>
10 #include <rte_common.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 
51 #define RTE_TEL_U64_VAL RTE_TEL_UINT_VAL
52 
63 int
64 rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
65 
78 int
79 rte_tel_data_start_dict(struct rte_tel_data *d);
80 
91 int
92 rte_tel_data_string(struct rte_tel_data *d, const char *str);
93 
106 int
107 rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
108 
121 int
122 rte_tel_data_add_array_int(struct rte_tel_data *d, int64_t x);
123 
136 int
137 rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x);
138 
151 int
152 rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x)
153  __rte_deprecated_msg("use 'rte_tel_data_add_array_uint' instead");
154 
172 int
173 rte_tel_data_add_array_container(struct rte_tel_data *d,
174  struct rte_tel_data *val, int keep);
175 
193 __rte_experimental
194 int
195 rte_tel_data_add_array_uint_hex(struct rte_tel_data *d, uint64_t val,
196  uint8_t display_bitwidth);
197 
213 int
214 rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
215  const char *val);
216 
231 int
232 rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int64_t val);
233 
248 int
249 rte_tel_data_add_dict_uint(struct rte_tel_data *d,
250  const char *name, uint64_t val);
251 
266 int
267 rte_tel_data_add_dict_u64(struct rte_tel_data *d,
268  const char *name, uint64_t val)
269  __rte_deprecated_msg("use 'rte_tel_data_add_dict_uint' instead");
270 
291 int
292 rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
293  struct rte_tel_data *val, int keep);
294 
314 __rte_experimental
315 int
316 rte_tel_data_add_dict_uint_hex(struct rte_tel_data *d, const char *name,
317  uint64_t val, uint8_t display_bitwidth);
318 
336 typedef int (*telemetry_cb)(const char *cmd, const char *params,
337  struct rte_tel_data *info);
338 
360 typedef int (*telemetry_arg_cb)(const char *cmd, const char *params, void *arg,
361  struct rte_tel_data *info);
362 
372 typedef void * (*handler)(void *sock_id);
373 
391 int
392 rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
393 
413 __rte_experimental
414 int
415 rte_telemetry_register_cmd_arg(const char *cmd, telemetry_arg_cb fn, void *arg, const char *help);
416 
424 struct rte_tel_data *
425 rte_tel_data_alloc(void);
426 
435 void
436 rte_tel_data_free(struct rte_tel_data *data);
437 
438 #ifdef __cplusplus
439 }
440 #endif
441 
442 #endif
int rte_tel_data_add_dict_uint(struct rte_tel_data *d, const char *name, uint64_t val)
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)
__rte_experimental int rte_tel_data_add_array_uint_hex(struct rte_tel_data *d, uint64_t val, uint8_t display_bitwidth)
int rte_tel_data_add_array_int(struct rte_tel_data *d, int64_t x)
int rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x) __rte_deprecated_msg("use 'rte_tel_data_add_array_uint' instead")
int rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x)
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)
__rte_experimental int rte_telemetry_register_cmd_arg(const char *cmd, telemetry_arg_cb fn, void *arg, const char *help)
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)
int rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val) __rte_deprecated_msg("use 'rte_tel_data_add_dict_uint' instead")
int(* telemetry_arg_cb)(const char *cmd, const char *params, void *arg, struct rte_tel_data *info)
int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int64_t val)
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_string(struct rte_tel_data *d, const char *str)
rte_tel_value_type
Definition: rte_telemetry.h:44
__rte_experimental int rte_tel_data_add_dict_uint_hex(struct rte_tel_data *d, const char *name, uint64_t val, uint8_t display_bitwidth)