aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-list.c
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@gmail.com>2013-10-30 12:28:29 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-11-05 12:26:41 -0500
commit44d742e01e6d3dd544ee1873b660a3c8bc1413bb (patch)
treee305d70f0bf65c430a9893a888776b555bd6dace /tools/perf/builtin-list.c
parent8e00ddc9dfe09ee131144fdaf6c96ebe95bbbbcb (diff)
perf list: Add usage
Currently 'perf list' is not very helpful if you forget the syntax: $ perf list -h List of pre-defined events (to be used in -e): After: $ perf list -h usage: perf list [hw|sw|cache|tracepoint|pmu|event_glob] Signed-off-by: David Ahern <dsahern@gmail.com> Acked-by: Ingo Molnar <mingo@kernel.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/527133AD.4030003@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-list.c')
-rw-r--r--tools/perf/builtin-list.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
index 45000e7d4398..011195e38f21 100644
--- a/tools/perf/builtin-list.c
+++ b/tools/perf/builtin-list.c
@@ -14,20 +14,31 @@
14#include "util/parse-events.h" 14#include "util/parse-events.h"
15#include "util/cache.h" 15#include "util/cache.h"
16#include "util/pmu.h" 16#include "util/pmu.h"
17#include "util/parse-options.h"
17 18
18int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused) 19int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
19{ 20{
20 int i; 21 int i;
22 const struct option list_options[] = {
23 OPT_END()
24 };
25 const char * const list_usage[] = {
26 "perf list [hw|sw|cache|tracepoint|pmu|event_glob]",
27 NULL
28 };
29
30 argc = parse_options(argc, argv, list_options, list_usage,
31 PARSE_OPT_STOP_AT_NON_OPTION);
21 32
22 setup_pager(); 33 setup_pager();
23 34
24 if (argc == 1) { 35 if (argc == 0) {
25 print_events(NULL, false); 36 print_events(NULL, false);
26 return 0; 37 return 0;
27 } 38 }
28 39
29 for (i = 1; i < argc; ++i) { 40 for (i = 0; i < argc; ++i) {
30 if (i > 2) 41 if (i)
31 putchar('\n'); 42 putchar('\n');
32 if (strncmp(argv[i], "tracepoint", 10) == 0) 43 if (strncmp(argv[i], "tracepoint", 10) == 0)
33 print_tracepoint_events(NULL, NULL, false); 44 print_tracepoint_events(NULL, NULL, false);