forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf evlist: New command to list the names of events present in a per…
…f.data file [root@emilia ~]# perf record -a -e sched:* -e timer:timer* sleep 5 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.172 MB perf.data (~7530 samples) ] [root@emilia ~]# perf evlist sched:sched_kthread_stop sched:sched_kthread_stop_ret sched:sched_wakeup sched:sched_wakeup_new sched:sched_switch sched:sched_migrate_task sched:sched_process_free sched:sched_process_exit sched:sched_wait_task sched:sched_process_wait sched:sched_process_fork sched:sched_stat_wait sched:sched_stat_sleep sched:sched_stat_iowait sched:sched_stat_runtime sched:sched_pi_setprio timer:timer_init timer:timer_start timer:timer_expire_entry timer:timer_expire_exit timer:timer_cancel [root@emilia ~]# Cc: Frederic Weisbecker <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Cc: Tom Zanussi <[email protected]> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
- Loading branch information
Showing
6 changed files
with
84 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
perf-evlist(1) | ||
============== | ||
|
||
NAME | ||
---- | ||
perf-evlist - List the event names in a perf.data file | ||
|
||
SYNOPSIS | ||
-------- | ||
[verse] | ||
'perf evlist <options>' | ||
|
||
DESCRIPTION | ||
----------- | ||
This command displays the names of events sampled in a perf.data file. | ||
|
||
OPTIONS | ||
------- | ||
-i:: | ||
--input=:: | ||
Input file name. (default: perf.data) | ||
|
||
SEE ALSO | ||
-------- | ||
linkperf:perf-record[1], linkperf:perf-list[1], | ||
linkperf:perf-report[1] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
/* | ||
* Builtin evlist command: Show the list of event selectors present | ||
* in a perf.data file. | ||
*/ | ||
#include "builtin.h" | ||
|
||
#include "util/util.h" | ||
|
||
#include <linux/list.h> | ||
|
||
#include "perf.h" | ||
#include "util/evlist.h" | ||
#include "util/evsel.h" | ||
#include "util/parse-events.h" | ||
#include "util/parse-options.h" | ||
#include "util/session.h" | ||
|
||
static char const *input_name = "perf.data"; | ||
|
||
static int __cmd_evlist(void) | ||
{ | ||
struct perf_session *session; | ||
struct perf_evsel *pos; | ||
|
||
session = perf_session__new(input_name, O_RDONLY, 0, false, NULL); | ||
if (session == NULL) | ||
return -ENOMEM; | ||
|
||
list_for_each_entry(pos, &session->evlist->entries, node) | ||
printf("%s\n", event_name(pos)); | ||
|
||
perf_session__delete(session); | ||
return 0; | ||
} | ||
|
||
static const char * const evlist_usage[] = { | ||
"perf evlist [<options>]", | ||
NULL | ||
}; | ||
|
||
static const struct option options[] = { | ||
OPT_STRING('i', "input", &input_name, "file", | ||
"input file name"), | ||
OPT_END() | ||
}; | ||
|
||
int cmd_evlist(int argc, const char **argv, const char *prefix __used) | ||
{ | ||
argc = parse_options(argc, argv, options, evlist_usage, 0); | ||
if (argc) | ||
usage_with_options(evlist_usage, options); | ||
|
||
return __cmd_evlist(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters