diff options
author | Namhyung Kim <namhyung.kim@lge.com> | 2013-05-13 22:09:05 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-05-28 09:24:01 -0400 |
commit | fa5df94350510571cbe825f333996f57223b3cd2 (patch) | |
tree | 77325e41ab7f635d032b5b397cfa24889c07044d /tools/perf/builtin-top.c | |
parent | 064f19815c4e99e8b22bc3c5f4d7f4e0b96d226a (diff) |
perf top: Add --percent-limit option
The --percent-limit option is for not showing small overhead entries in
the output.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1368497347-9628-8-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-top.c')
-rw-r--r-- | tools/perf/builtin-top.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 19fe25f6e4f0..f036af9b6f09 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c | |||
@@ -296,7 +296,8 @@ static void perf_top__print_sym_table(struct perf_top *top) | |||
296 | top->print_entries - printed); | 296 | top->print_entries - printed); |
297 | putchar('\n'); | 297 | putchar('\n'); |
298 | hists__fprintf(&top->sym_evsel->hists, false, | 298 | hists__fprintf(&top->sym_evsel->hists, false, |
299 | top->print_entries - printed, win_width, 0, stdout); | 299 | top->print_entries - printed, win_width, |
300 | top->min_percent, stdout); | ||
300 | } | 301 | } |
301 | 302 | ||
302 | static void prompt_integer(int *target, const char *msg) | 303 | static void prompt_integer(int *target, const char *msg) |
@@ -580,7 +581,7 @@ static void *display_thread_tui(void *arg) | |||
580 | list_for_each_entry(pos, &top->evlist->entries, node) | 581 | list_for_each_entry(pos, &top->evlist->entries, node) |
581 | pos->hists.uid_filter_str = top->record_opts.target.uid_str; | 582 | pos->hists.uid_filter_str = top->record_opts.target.uid_str; |
582 | 583 | ||
583 | perf_evlist__tui_browse_hists(top->evlist, help, &hbt, 0, | 584 | perf_evlist__tui_browse_hists(top->evlist, help, &hbt, top->min_percent, |
584 | &top->session->header.env); | 585 | &top->session->header.env); |
585 | 586 | ||
586 | done = 1; | 587 | done = 1; |
@@ -1021,6 +1022,16 @@ parse_callchain_opt(const struct option *opt, const char *arg, int unset) | |||
1021 | return record_parse_callchain_opt(opt, arg, unset); | 1022 | return record_parse_callchain_opt(opt, arg, unset); |
1022 | } | 1023 | } |
1023 | 1024 | ||
1025 | static int | ||
1026 | parse_percent_limit(const struct option *opt, const char *arg, | ||
1027 | int unset __maybe_unused) | ||
1028 | { | ||
1029 | struct perf_top *top = opt->value; | ||
1030 | |||
1031 | top->min_percent = strtof(arg, NULL); | ||
1032 | return 0; | ||
1033 | } | ||
1034 | |||
1024 | int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused) | 1035 | int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused) |
1025 | { | 1036 | { |
1026 | int status; | 1037 | int status; |
@@ -1106,6 +1117,8 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused) | |||
1106 | OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style", | 1117 | OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style", |
1107 | "Specify disassembler style (e.g. -M intel for intel syntax)"), | 1118 | "Specify disassembler style (e.g. -M intel for intel syntax)"), |
1108 | OPT_STRING('u', "uid", &target->uid_str, "user", "user to profile"), | 1119 | OPT_STRING('u', "uid", &target->uid_str, "user", "user to profile"), |
1120 | OPT_CALLBACK(0, "percent-limit", &top, "percent", | ||
1121 | "Don't show entries under that percent", parse_percent_limit), | ||
1109 | OPT_END() | 1122 | OPT_END() |
1110 | }; | 1123 | }; |
1111 | const char * const top_usage[] = { | 1124 | const char * const top_usage[] = { |