Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/tools/perf/builtin-evlist.c
10820 views
1
/*
2
* Builtin evlist command: Show the list of event selectors present
3
* in a perf.data file.
4
*/
5
#include "builtin.h"
6
7
#include "util/util.h"
8
9
#include <linux/list.h>
10
11
#include "perf.h"
12
#include "util/evlist.h"
13
#include "util/evsel.h"
14
#include "util/parse-events.h"
15
#include "util/parse-options.h"
16
#include "util/session.h"
17
18
static char const *input_name = "perf.data";
19
20
static int __cmd_evlist(void)
21
{
22
struct perf_session *session;
23
struct perf_evsel *pos;
24
25
session = perf_session__new(input_name, O_RDONLY, 0, false, NULL);
26
if (session == NULL)
27
return -ENOMEM;
28
29
list_for_each_entry(pos, &session->evlist->entries, node)
30
printf("%s\n", event_name(pos));
31
32
perf_session__delete(session);
33
return 0;
34
}
35
36
static const char * const evlist_usage[] = {
37
"perf evlist [<options>]",
38
NULL
39
};
40
41
static const struct option options[] = {
42
OPT_STRING('i', "input", &input_name, "file",
43
"input file name"),
44
OPT_END()
45
};
46
47
int cmd_evlist(int argc, const char **argv, const char *prefix __used)
48
{
49
argc = parse_options(argc, argv, options, evlist_usage, 0);
50
if (argc)
51
usage_with_options(evlist_usage, options);
52
53
return __cmd_evlist();
54
}
55
56