RE: [PATCH] perf stat: Fix multi-line metric output in JSON

From: Wang, Weilin
Date: Fri Dec 02 2022 - 14:32:21 EST


Namhyung, it works. Thanks!

-----Original Message-----
From: Namhyung Kim <namhyung@xxxxxxxxx> On Behalf Of Namhyung Kim
Sent: Friday, December 2, 2022 11:05 AM
To: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>; Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>; Peter Zijlstra <peterz@xxxxxxxxxxxxx>; LKML <linux-kernel@xxxxxxxxxxxxxxx>; Ian Rogers <irogers@xxxxxxxxxx>; Hunter, Adrian <adrian.hunter@xxxxxxxxx>; linux-perf-users@xxxxxxxxxxxxxxx; Kan Liang <kan.liang@xxxxxxxxxxxxxxx>; Zhengjun Xing <zhengjun.xing@xxxxxxxxxxxxxxx>; James Clark <james.clark@xxxxxxx>; Athira Jajeev <atrajeev@xxxxxxxxxxxxxxxxxx>; Wang, Weilin <weilin.wang@xxxxxxxxx>
Subject: [PATCH] perf stat: Fix multi-line metric output in JSON

When a metric produces more than one values, it missed to print the opening bracket.

Fixes: ab6baaae2735 ("perf stat: Fix JSON output in metric-only mode")
Reported-by: "Wang, Weilin" <weilin.wang@xxxxxxxxx>
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
Weilin, could you please verify it fixes your problem?

tools/perf/util/stat-display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index f1ee4b052198..8d0bdd57163d 100644
--- a/tools/perf/util/stat-display.c
+++ b/tools/perf/util/stat-display.c
@@ -440,7 +440,7 @@ static void new_line_json(struct perf_stat_config *config, void *ctx) {
struct outstate *os = ctx;

- fputc('\n', os->fh);
+ fputs("\n{", os->fh);
if (os->prefix)
fprintf(os->fh, "%s", os->prefix);
aggr_printout(config, os->evsel, os->id, os->nr);
--
2.39.0.rc0.267.gcb52ba06e7-goog