diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2009-09-12 01:52:51 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-19 05:42:11 -0400 |
commit | 8755a8f27ae590dde225f9005ee18c6d9c4c6d78 (patch) | |
tree | 1a86744bf0f5ee71bc5f2d0c29f86f9721aa6f4a /tools/perf/util/header.h | |
parent | 393b2ad8c757ba3ccd2a99ca5bbcd6db4d3fa53d (diff) |
perf: Store trace event name/id pairs in perf.data
The trace event name<->id mapping is dynamic for each kernel
compile. In order for perf.data to be useable outside the actual
system, we thus need to store a table of this mapping for later
use.
This patch adds this table to perf.data, and provides helper
functions for lookup up fields from this table.
To avoid mistakes, lookup-from-table is kept completely seprate
from lookup-from-local-debugfs.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <20090912130405.6960d099@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/header.h')
-rw-r--r-- | tools/perf/util/header.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h index 5d0a72ecc919..7b0e84a87179 100644 --- a/tools/perf/util/header.h +++ b/tools/perf/util/header.h | |||
@@ -19,6 +19,8 @@ struct perf_header { | |||
19 | s64 attr_offset; | 19 | s64 attr_offset; |
20 | u64 data_offset; | 20 | u64 data_offset; |
21 | u64 data_size; | 21 | u64 data_size; |
22 | u64 event_offset; | ||
23 | u64 event_size; | ||
22 | }; | 24 | }; |
23 | 25 | ||
24 | struct perf_header *perf_header__read(int fd); | 26 | struct perf_header *perf_header__read(int fd); |
@@ -27,6 +29,10 @@ void perf_header__write(struct perf_header *self, int fd); | |||
27 | void perf_header__add_attr(struct perf_header *self, | 29 | void perf_header__add_attr(struct perf_header *self, |
28 | struct perf_header_attr *attr); | 30 | struct perf_header_attr *attr); |
29 | 31 | ||
32 | void perf_header__push_event(u64 id, const char *name); | ||
33 | char *perf_header__find_event(u64 id); | ||
34 | |||
35 | |||
30 | struct perf_header_attr * | 36 | struct perf_header_attr * |
31 | perf_header_attr__new(struct perf_counter_attr *attr); | 37 | perf_header_attr__new(struct perf_counter_attr *attr); |
32 | void perf_header_attr__add_id(struct perf_header_attr *self, u64 id); | 38 | void perf_header_attr__add_id(struct perf_header_attr *self, u64 id); |