From: Changbin Du <changbin...@intel.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...@intel.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

Reply via email to