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

From: Wang, Weilin
Date: Mon Dec 05 2022 - 13:09:24 EST


Yes, no problem.

Thanks,
Weilin

-----Original Message-----
From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Sent: Monday, December 5, 2022 5:04 AM
To: Wang, Weilin <weilin.wang@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>; Jiri Olsa <jolsa@xxxxxxxxxx>; 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>
Subject: Re: [PATCH] perf stat: Fix multi-line metric output in JSON

Em Fri, Dec 02, 2022 at 07:31:59PM +0000, Wang, Weilin escreveu:
> Namhyung, it works. Thanks!

Thanks, applied and added a Tested-by: Weilin, ok?

- Arnaldo

> -----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

--

- Arnaldo