Remove unnecessary commas from events before they are parsed. This avoids ',' being echoed by parse-events.l. Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx> --- tools/perf/util/metricgroup.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index 432ae2e4c7b1..570285132cf6 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -501,9 +501,14 @@ static void metricgroup__add_metric_non_group(struct strbuf *events, { struct hashmap_entry *cur; size_t bkt; + bool first = true; - hashmap__for_each_entry((&ctx->ids), cur, bkt) - strbuf_addf(events, ",%s", (const char *)cur->key); + hashmap__for_each_entry((&ctx->ids), cur, bkt) { + if (!first) + strbuf_addf(events, ","); + strbuf_addf(events, "%s", (const char *)cur->key); + first = false; + } } static void metricgroup___watchdog_constraint_hint(const char *name, bool foot) @@ -637,8 +642,10 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group, } } if (!ret) { + bool first = true; + list_for_each_entry(eg, group_list, nd) { - if (events->len > 0) + if (events->len > 0 && !first) strbuf_addf(events, ","); if (eg->has_constraint) { @@ -648,6 +655,7 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group, metricgroup__add_metric_weak_group(events, &eg->pctx); } + first = false; } } return ret; -- 2.26.2.761.g0e0b3e54be-goog