From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
David Ahern <dsahern@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Andi Kleen <andi@firstfloor.org>, Wang Nan <wangnan0@huawei.com>
Subject: [PATCH 09/10] perf tools: Make 'trace' sort key default for tracepoint events
Date: Mon, 21 Dec 2015 23:26:52 +0900 [thread overview]
Message-ID: <1450708013-7805-10-git-send-email-namhyung@kernel.org> (raw)
In-Reply-To: <1450708013-7805-1-git-send-email-namhyung@kernel.org>
When an evlist contains tracepoint events only, use 'trace' sort key as
default. This will make users more convenient to see trace result.
Suggested-by: Jiri Olsa <jolsa@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/util/sort.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index f38a0577967a..43cb9b638718 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -2067,7 +2067,7 @@ static int sort_dimension__add(const char *tok,
return -ESRCH;
}
-static const char *get_default_sort_order(void)
+static const char *get_default_sort_order(struct perf_evlist *evlist)
{
const char *default_sort_orders[] = {
default_sort_order,
@@ -2076,13 +2076,25 @@ static const char *get_default_sort_order(void)
default_top_sort_order,
default_diff_sort_order,
};
+ bool use_trace = true;
+ struct perf_evsel *evsel;
BUG_ON(sort__mode >= ARRAY_SIZE(default_sort_orders));
+ evlist__for_each(evlist, evsel) {
+ if (evsel->attr.type != PERF_TYPE_TRACEPOINT) {
+ use_trace = false;
+ break;
+ }
+ }
+
+ if (use_trace)
+ return "trace";
+
return default_sort_orders[sort__mode];
}
-static int setup_sort_order(void)
+static int setup_sort_order(struct perf_evlist *evlist)
{
char *new_sort_order;
@@ -2103,7 +2115,7 @@ static int setup_sort_order(void)
* because it's checked over the rest of the code.
*/
if (asprintf(&new_sort_order, "%s,%s",
- get_default_sort_order(), sort_order + 1) < 0) {
+ get_default_sort_order(evlist), sort_order + 1) < 0) {
error("Not enough memory to set up --sort");
return -ENOMEM;
}
@@ -2118,7 +2130,7 @@ static int __setup_sorting(struct perf_evlist *evlist)
const char *sort_keys;
int ret = 0;
- ret = setup_sort_order();
+ ret = setup_sort_order(evlist);
if (ret)
return ret;
@@ -2132,7 +2144,7 @@ static int __setup_sorting(struct perf_evlist *evlist)
return 0;
}
- sort_keys = get_default_sort_order();
+ sort_keys = get_default_sort_order(evlist);
}
str = strdup(sort_keys);
--
2.6.4
next prev parent reply other threads:[~2015-12-21 14:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-21 14:26 [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v3) Namhyung Kim
2015-12-21 14:26 ` [PATCH 01/10] perf hist: Pass struct sample to __hists__add_entry() Namhyung Kim
2015-12-21 14:26 ` [PATCH 02/10] perf hist: Save raw_data/size for tracepoint events Namhyung Kim
2015-12-21 14:26 ` [PATCH 03/10] tools lib traceevent: Factor out and export print_event_field[s] Namhyung Kim
2015-12-21 14:26 ` [PATCH 04/10] perf tools: Pass evlist to setup_sorting() Namhyung Kim
2015-12-21 14:26 ` [PATCH 05/10] perf tools: Add dynamic sort key for tracepoint events Namhyung Kim
2016-01-05 10:38 ` Jiri Olsa
2015-12-21 14:26 ` [PATCH 06/10] perf tools: Try to show pretty printed output for dynamic sort keys Namhyung Kim
2015-12-21 14:26 ` [PATCH 07/10] perf tools: Add 'trace' sort key Namhyung Kim
2015-12-22 7:22 ` Jiri Olsa
2015-12-22 14:47 ` Namhyung Kim
2015-12-21 14:26 ` [PATCH 08/10] perf tools: Add --raw-trace option Namhyung Kim
2015-12-21 14:26 ` Namhyung Kim [this message]
2015-12-22 7:29 ` [PATCH 09/10] perf tools: Make 'trace' sort key default for tracepoint events Jiri Olsa
2015-12-22 14:49 ` Namhyung Kim
2015-12-21 14:26 ` [PATCH 10/10] perf tools: Support shortcuts for events in dynamic sort keys Namhyung Kim
2016-01-04 21:17 ` [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v3) Arnaldo Carvalho de Melo
2016-01-05 0:22 ` Namhyung Kim
-- strict thread matches above, loose matches on Subject: below --
2015-12-15 15:35 [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v2) Namhyung Kim
2015-12-15 15:35 ` [PATCH 09/10] perf tools: Make 'trace' sort key default for tracepoint events Namhyung Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1450708013-7805-10-git-send-email-namhyung@kernel.org \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=andi@firstfloor.org \
--cc=dsahern@gmail.com \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®