1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2020 Intel Corporation
5 #ifdef RTE_LIBRTE_TELEMETRY
11 #include "rte_metrics.h"
13 #ifndef _RTE_METRICS_TELEMETRY_H_
14 #define _RTE_METRICS_TELEMETRY_H_
17 enum rte_telemetry_stats_type {
22 struct telemetry_encode_param {
23 enum rte_telemetry_stats_type type;
26 uint32_t metric_ids[RTE_METRICS_MAX_METRICS];
28 uint32_t port_ids[RTE_MAX_ETHPORTS];
32 struct telemetry_metrics_data {
33 int reg_index[RTE_MAX_ETHPORTS];
34 int metrics_register_done;
37 struct telemetry_metrics_data tel_met_data;
40 int32_t rte_metrics_tel_reg_all_ethdev(int *metrics_register_done,
45 rte_metrics_tel_encode_json_format(struct telemetry_encode_param *ep,
50 rte_metrics_tel_get_global_stats(struct telemetry_encode_param *ep);
54 rte_metrics_tel_get_port_stats_ids(struct telemetry_encode_param *ep);
58 rte_metrics_tel_get_ports_stats_json(struct telemetry_encode_param *ep,
59 int *reg_index, char **json_buffer);
63 rte_metrics_tel_extract_data(struct telemetry_encode_param *ep, json_t *data);