Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751453AbdCMIjR (ORCPT ); Mon, 13 Mar 2017 04:39:17 -0400 Received: from mga07.intel.com ([134.134.136.100]:19131 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750905AbdCMIjJ (ORCPT ); Mon, 13 Mar 2017 04:39:09 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,158,1486454400"; d="scan'208";a="1107805147" From: changbin.du@intel.com To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org Cc: linux-kernel@vger.kernel.org, Changbin Du Subject: [PATCH] perf report: show sort_order in title Date: Mon, 13 Mar 2017 16:36:35 +0800 Message-Id: <20170313083635.24525-1-changbin.du@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1563 Lines: 54 From: Changbin Du 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 --- 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