[PATCH 12/14] perf diff: Display data file info ahead of the diff output

Jiri Olsa
2012-11-28T13:54:12Z

Data files are referenced through the index of the file
on the command line. Adding list of data files for each
index to ease up navigation.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/builtin-diff.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 81f7529..50e1ea3 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -632,6 +632,19 @@ static void hists__process(struct hists *hists)
hists__fprintf(hists, true, 0, 0, stdout);
}

+static void data_fprintf(void)
+{
+ struct diff_data *d;
+ int i;
+
+ fprintf(stdout, "# Data files:\n");
+
+ for_each_data(i, d)
+ fprintf(stdout, "# [%d] %s\n", d->idx, d->file);
+
+ fprintf(stdout, "#\n");
+}
+
static int data_process(void)
{
struct perf_evlist *evlist_base = data[0].session->evlist;
@@ -662,6 +675,9 @@ static int data_process(void)
fprintf(stdout, "%s# Event '%s'\n#\n", first ? "" : "\n",
perf_evsel__name(evsel_base));

+ if (data_cnt > 2)
+ data_fprintf();
+
hists__process(&evsel_base->hists);

first = false;
--
1.7.11.7