perf stat: Add header for interval in JSON output
authorNamhyung Kim <namhyung@kernel.org>
Mon, 7 Nov 2022 21:33:12 +0000 (13:33 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 14 Nov 2022 16:21:19 +0000 (13:21 -0300)
It missed to print a matching header line for intervals.

Before:

  # perf stat -a -e cycles,instructions --metric-only -j -I 500
  {"unit" : "insn per cycle"}
  {"interval" : 0.500544283}{"metric-value" : "1.96"}
  ^C

After:

  # perf stat -a -e cycles,instructions --metric-only -j -I 500
  {"unit" : "sec"}{"unit" : "insn per cycle"}
  {"interval" : 0.500515681}{"metric-value" : "2.31"}
  ^C

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-8-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/stat-display.c

index 99bc0db..2a08c66 100644 (file)
@@ -858,6 +858,10 @@ static void print_metric_headers(struct perf_stat_config *config,
                if (!config->iostat_run)
                        fputs(aggr_header_csv[config->aggr_mode], config->output);
        }
+       if (config->json_output) {
+               if (config->interval)
+                       fputs("{\"unit\" : \"sec\"}", config->output);
+       }
        if (config->iostat_run)
                iostat_print_header_prefix(config);