diff options
author | Jiri Olsa <jolsa@redhat.com> | 2013-12-03 08:09:23 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-12-04 13:20:52 -0500 |
commit | 29f5ffd3d3ff9abdfc98928f7c4cb4097cefe434 (patch) | |
tree | 92d0e87f316562c7e641473798d46165e6681688 /tools/perf/util/trace-event.c | |
parent | cef82c9f5a3deab94c1f1f02cfc25213844852ed (diff) |
perf tools: Add trace-event object
Add trace-event object to keep together 'struct pevent' object with its
loaded plugins with following interface:
int trace_event__init(struct trace_event *t);
- Initalizes 'struct pevent' object and loads plugins for it
void trace_event__cleanup(struct trace_event *t);
- Cleanups both 'struct pevent' and plugins
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1386076182-14484-10-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/trace-event.c')
-rw-r--r-- | tools/perf/util/trace-event.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/perf/util/trace-event.c b/tools/perf/util/trace-event.c new file mode 100644 index 000000000000..a155a77f3023 --- /dev/null +++ b/tools/perf/util/trace-event.c | |||
@@ -0,0 +1,21 @@ | |||
1 | |||
2 | #include <traceevent/event-parse.h> | ||
3 | #include "trace-event.h" | ||
4 | |||
5 | int trace_event__init(struct trace_event *t) | ||
6 | { | ||
7 | struct pevent *pevent = pevent_alloc(); | ||
8 | |||
9 | if (pevent) { | ||
10 | t->plugin_list = traceevent_load_plugins(pevent); | ||
11 | t->pevent = pevent; | ||
12 | } | ||
13 | |||
14 | return pevent ? 0 : -1; | ||
15 | } | ||
16 | |||
17 | void trace_event__cleanup(struct trace_event *t) | ||
18 | { | ||
19 | pevent_free(t->pevent); | ||
20 | traceevent_unload_plugins(t->plugin_list); | ||
21 | } | ||