[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170313083635.24525-1-changbin.du@intel.com>
Date: Mon, 13 Mar 2017 16:36:35 +0800
From: changbin.du@...el.com
To: peterz@...radead.org, mingo@...hat.com, acme@...nel.org
Cc: linux-kernel@...r.kernel.org, Changbin Du <changbin.du@...el.com>
Subject: [PATCH] perf report: show sort_order in title
From: Changbin Du <changbin.du@...el.com>
In the report, how does the data sort is a important info for
analyser. Moreover, perf sometimes insert or append sort fields
automatically. Thus user may confuse how it sorts w/o reading
perf internal. So here print the order info to repor title.
Signed-off-by: Changbin Du <changbin.du@...el.com>
---
tools/perf/ui/browsers/hists.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index fc4fb66..6c6b615 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2194,6 +2194,25 @@ static inline bool is_report_browser(void *timer)
return timer == NULL;
}
+static int get_sort_fields_str(struct hists *hists, char *buf, size_t size)
+{
+ struct perf_hpp_fmt *fmt;
+ bool first = true;
+ int ret = 0;
+
+ hists__for_each_sort_list(hists, fmt) {
+ if (first) {
+ first = false;
+ ret += scnprintf(buf + ret, size - ret, "%s", fmt->name);
+ } else {
+ ret += scnprintf(buf + ret, size - ret, ",%s", fmt->name);
+ }
+ if (size - ret <= 0)
+ break;
+ }
+ return ret;
+}
+
static int perf_evsel_browser_title(struct hist_browser *browser,
char *bf, size_t size)
{
@@ -2274,6 +2293,9 @@ static int perf_evsel_browser_title(struct hist_browser *browser,
printed += scnprintf(bf + printed, size - printed, " [z]");
}
+ get_sort_fields_str(hists, buf, sizeof(buf));
+ printed += scnprintf(bf + printed, size - printed, ", Sort by: %s", buf);
+
return printed;
}
--
2.7.4
Powered by blists - more mailing lists