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>
This commit is contained in:
committed by
Ingo Molnar
parent
393b2ad8c7
commit
8755a8f27a
@ -19,6 +19,8 @@ struct perf_header {
|
||||
s64 attr_offset;
|
||||
u64 data_offset;
|
||||
u64 data_size;
|
||||
u64 event_offset;
|
||||
u64 event_size;
|
||||
};
|
||||
|
||||
struct perf_header *perf_header__read(int fd);
|
||||
@ -27,6 +29,10 @@ void perf_header__write(struct perf_header *self, int fd);
|
||||
void perf_header__add_attr(struct perf_header *self,
|
||||
struct perf_header_attr *attr);
|
||||
|
||||
void perf_header__push_event(u64 id, const char *name);
|
||||
char *perf_header__find_event(u64 id);
|
||||
|
||||
|
||||
struct perf_header_attr *
|
||||
perf_header_attr__new(struct perf_counter_attr *attr);
|
||||
void perf_header_attr__add_id(struct perf_header_attr *self, u64 id);
|
||||
|
Reference in New Issue
Block a user