[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221114230227.1255976-11-namhyung@kernel.org>
Date: Mon, 14 Nov 2022 15:02:18 -0800
From: Namhyung Kim <namhyung@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...nel.org>
Cc: Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-perf-users@...r.kernel.org,
Kan Liang <kan.liang@...ux.intel.com>,
Zhengjun Xing <zhengjun.xing@...ux.intel.com>,
James Clark <james.clark@....com>,
Athira Jajeev <atrajeev@...ux.vnet.ibm.com>
Subject: [PATCH 10/19] perf stat: Split print_metric_headers() function
The print_metric_headers() shows metric headers a little bit for each
mode. Split it out to make the code clearer.
Signed-off-by: Namhyung Kim <namhyung@...nel.org>
---
tools/perf/util/stat-display.c | 52 ++++++++++++++++++++++++----------
1 file changed, 37 insertions(+), 15 deletions(-)
diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
index e66f766a3d78..bb2791459f5f 100644
--- a/tools/perf/util/stat-display.c
+++ b/tools/perf/util/stat-display.c
@@ -924,6 +924,37 @@ static const char *aggr_header_csv[] = {
[AGGR_GLOBAL] = ""
};
+static void print_metric_headers_std(struct perf_stat_config *config,
+ const char *prefix, bool no_indent)
+{
+ if (prefix)
+ fprintf(config->output, "%s", prefix);
+ if (!no_indent) {
+ fprintf(config->output, "%*s",
+ aggr_header_lens[config->aggr_mode], "");
+ }
+}
+
+static void print_metric_headers_csv(struct perf_stat_config *config,
+ const char *prefix,
+ bool no_indent __maybe_unused)
+{
+ if (prefix)
+ fprintf(config->output, "%s", prefix);
+ if (config->interval)
+ fputs("time,", config->output);
+ if (!config->iostat_run)
+ fputs(aggr_header_csv[config->aggr_mode], config->output);
+}
+
+static void print_metric_headers_json(struct perf_stat_config *config,
+ const char *prefix __maybe_unused,
+ bool no_indent __maybe_unused)
+{
+ if (config->interval)
+ fputs("{\"unit\" : \"sec\"}", config->output);
+}
+
static void print_metric_headers(struct perf_stat_config *config,
struct evlist *evlist,
const char *prefix, bool no_indent)
@@ -939,22 +970,13 @@ static void print_metric_headers(struct perf_stat_config *config,
.force_header = true,
};
- if (prefix && !config->json_output)
- fprintf(config->output, "%s", prefix);
+ if (config->json_output)
+ print_metric_headers_json(config, prefix, no_indent);
+ else if (config->csv_output)
+ print_metric_headers_csv(config, prefix, no_indent);
+ else
+ print_metric_headers_std(config, prefix, 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) {
- if (config->interval)
- fputs("time,", config->output);
- 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);
--
2.38.1.493.g58b659f92b-goog
Powered by blists - more mailing lists