DPDK 22.11.0-rc2
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
13extern "C" {
14#endif
15
17#define RTE_TEL_MAX_STRING_LEN 128
19#define RTE_TEL_MAX_SINGLE_STRING_LEN 8192
21#define RTE_TEL_MAX_DICT_ENTRIES 256
23#define RTE_TEL_MAX_ARRAY_ENTRIES 512
24
36struct rte_tel_data;
37
45 RTE_TEL_STRING_VAL,
49};
50
61int
62rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type);
63
76int
77rte_tel_data_start_dict(struct rte_tel_data *d);
78
89int
90rte_tel_data_string(struct rte_tel_data *d, const char *str);
91
104int
105rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str);
106
119int
120rte_tel_data_add_array_int(struct rte_tel_data *d, int x);
121
134int
135rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x);
136
154int
155rte_tel_data_add_array_container(struct rte_tel_data *d,
156 struct rte_tel_data *val, int keep);
157
173int
174rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name,
175 const char *val);
176
191int
192rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val);
193
208int
209rte_tel_data_add_dict_u64(struct rte_tel_data *d,
210 const char *name, uint64_t val);
211
232int
233rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name,
234 struct rte_tel_data *val, int keep);
235
253typedef int (*telemetry_cb)(const char *cmd, const char *params,
254 struct rte_tel_data *info);
255
265typedef void * (*handler)(void *sock_id);
266
284int
285rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help);
286
287
295struct rte_tel_data *
297
306void
307rte_tel_data_free(struct rte_tel_data *data);
308
309#ifdef __cplusplus
310}
311#endif
312
313#endif
struct rte_tel_data * rte_tel_data_alloc(void)
int rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, const char *val)
int rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val)
int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
int rte_tel_data_string(struct rte_tel_data *d, const char *str)
int rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help)
int(* telemetry_cb)(const char *cmd, const char *params, struct rte_tel_data *info)
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_array_int(struct rte_tel_data *d, int x)
int rte_tel_data_add_array_container(struct rte_tel_data *d, struct rte_tel_data *val, int keep)
int rte_tel_data_start_dict(struct rte_tel_data *d)
int rte_tel_data_add_array_u64(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_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val)
rte_tel_value_type
Definition: rte_telemetry.h:44
@ RTE_TEL_INT_VAL
Definition: rte_telemetry.h:46
@ RTE_TEL_U64_VAL
Definition: rte_telemetry.h:47
@ RTE_TEL_CONTAINER
Definition: rte_telemetry.h:48