[PATCH 06/11] perf stat: Do not indent headers for JSON

From: Namhyung Kim
Date: Fri Nov 11 2022 - 22:23:15 EST


Currently --metric-only with --json indents header lines. This is not
needed for JSON.

$ perf stat -aA --metric-only -j true
{"unit" : "GHz"}{"unit" : "insn per cycle"}{"unit" : "branch-misses of all branches"}
{"cpu" : "0", {"metric-value" : "0.101"}{"metric-value" : "0.86"}{"metric-value" : "1.91"}
{"cpu" : "1", {"metric-value" : "0.102"}{"metric-value" : "0.87"}{"metric-value" : "2.02"}
{"cpu" : "2", {"metric-value" : "0.085"}{"metric-value" : "1.02"}{"metric-value" : "1.69"}
...

Note that the other lines are broken JSON, but it will be handled later.

Acked-by: Ian Rogers <irogers@xxxxxxxxxx>
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
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 3ddc159df4b2..dbd3ba380c9f 100644
--- a/tools/perf/util/stat-display.c
+++ b/tools/perf/util/stat-display.c
@@ -851,7 +851,7 @@ static void print_metric_headers(struct perf_stat_config *config,
if (prefix && !config->json_output)
fprintf(config->output, "%s", prefix);

- if (!config->csv_output && !no_indent)
+ if (!config->csv_output && !config->json_output && !no_indent)
fprintf(config->output, "%*s",
aggr_header_lens[config->aggr_mode], "");
if (config->csv_output) {
--
2.38.1.493.g58b659f92b-goog