git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
telemetry: fix mapping of statistics
[dpdk.git]
/
lib
/
librte_telemetry
/
rte_telemetry_parser.c
diff --git
a/lib/librte_telemetry/rte_telemetry_parser.c
b/lib/librte_telemetry/rte_telemetry_parser.c
index
03a58a2
..
9bc16ee
100644
(file)
--- a/
lib/librte_telemetry/rte_telemetry_parser.c
+++ b/
lib/librte_telemetry/rte_telemetry_parser.c
@@
-256,7
+256,7
@@
rte_telemetry_command_ports_all_stat_values(struct telemetry_impl *telemetry,
int action, json_t *data)
{
int ret, num_metrics, i, p;
int action, json_t *data)
{
int ret, num_metrics, i, p;
- struct rte_metric_
name *nam
es;
+ struct rte_metric_
value *valu
es;
uint64_t num_port_ids = 0;
uint32_t port_ids[RTE_MAX_ETHPORTS];
uint64_t num_port_ids = 0;
uint32_t port_ids[RTE_MAX_ETHPORTS];
@@
-281,7
+281,7
@@
rte_telemetry_command_ports_all_stat_values(struct telemetry_impl *telemetry,
return -1;
}
return -1;
}
- num_metrics = rte_metrics_get_
names(
NULL, 0);
+ num_metrics = rte_metrics_get_
values(0,
NULL, 0);
if (num_metrics < 0) {
TELEMETRY_LOG_ERR("Cannot get metrics count");
if (num_metrics < 0) {
TELEMETRY_LOG_ERR("Cannot get metrics count");
@@
-300,8
+300,8
@@
rte_telemetry_command_ports_all_stat_values(struct telemetry_impl *telemetry,
return -1;
}
return -1;
}
-
names = malloc(sizeof(struct rte_metric_nam
e) * num_metrics);
- if (
nam
es == NULL) {
+
values = malloc(sizeof(struct rte_metric_valu
e) * num_metrics);
+ if (
valu
es == NULL) {
TELEMETRY_LOG_ERR("Cannot allocate memory");
ret = rte_telemetry_send_error_response(telemetry,
-ENOMEM);
TELEMETRY_LOG_ERR("Cannot allocate memory");
ret = rte_telemetry_send_error_response(telemetry,
-ENOMEM);
@@
-310,7
+310,6
@@
rte_telemetry_command_ports_all_stat_values(struct telemetry_impl *telemetry,
return -1;
}
return -1;
}
- const char *stat_names[num_metrics];
uint32_t stat_ids[num_metrics];
RTE_ETH_FOREACH_DEV(p) {
uint32_t stat_ids[num_metrics];
RTE_ETH_FOREACH_DEV(p) {
@@
-328,16
+327,13
@@
rte_telemetry_command_ports_all_stat_values(struct telemetry_impl *telemetry,
goto fail;
}
goto fail;
}
- ret = rte_metrics_get_names(names, num_metrics);
- for (i = 0; i < num_metrics; i++)
- stat_names[i] = names[i].name;
-
- ret = rte_telemetry_stat_names_to_ids(telemetry, stat_names, stat_ids,
- num_metrics);
+ ret = rte_metrics_get_values(port_ids[0], values, num_metrics);
if (ret < 0) {
if (ret < 0) {
- TELEMETRY_LOG_ERR("Could not
convert stat names to ID
s");
+ TELEMETRY_LOG_ERR("Could not
get stat value
s");
goto fail;
}
goto fail;
}
+ for (i = 0; i < num_metrics; i++)
+ stat_ids[i] = values[i].key;
ret = rte_telemetry_send_ports_stats_values(stat_ids, num_metrics,
port_ids, num_port_ids, telemetry);
ret = rte_telemetry_send_ports_stats_values(stat_ids, num_metrics,
port_ids, num_port_ids, telemetry);
@@
-349,7
+345,7
@@
rte_telemetry_command_ports_all_stat_values(struct telemetry_impl *telemetry,
return 0;
fail:
return 0;
fail:
- free(
nam
es);
+ free(
valu
es);
return -1;
}
return -1;
}