]>
git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - tools/perf/util/event.h
1 #ifndef __PERF_RECORD_H
2 #define __PERF_RECORD_H
10 * PERF_SAMPLE_IP | PERF_SAMPLE_TID | *
13 struct perf_event_header header
;
16 unsigned char __more_data
[];
20 struct perf_event_header header
;
25 char filename
[PATH_MAX
];
29 struct perf_event_header header
;
35 struct perf_event_header header
;
42 struct perf_event_header header
;
48 * PERF_FORMAT_ENABLED | PERF_FORMAT_RUNNING | PERF_FORMAT_ID
51 struct perf_event_header header
;
60 struct perf_event_header header
;
73 struct ip_callchain
*callchain
;
78 #define BUILD_ID_SIZE 20
80 struct build_id_event
{
81 struct perf_event_header header
;
82 u8 build_id
[ALIGN(BUILD_ID_SIZE
, sizeof(u64
))];
86 typedef union event_union
{
87 struct perf_event_header header
;
89 struct mmap_event mmap
;
90 struct comm_event comm
;
91 struct fork_event fork
;
92 struct lost_event lost
;
93 struct read_event read
;
94 struct sample_event sample
;
102 void event__print_totals(void);
106 typedef int (*event__handler_t
)(event_t
*event
, struct perf_session
*session
);
108 int event__synthesize_thread(pid_t pid
, event__handler_t process
,
109 struct perf_session
*session
);
110 void event__synthesize_threads(event__handler_t process
,
111 struct perf_session
*session
);
112 int event__synthesize_kernel_mmap(event__handler_t process
,
113 struct perf_session
*session
,
114 const char *symbol_name
);
116 int event__process_comm(event_t
*self
, struct perf_session
*session
);
117 int event__process_lost(event_t
*self
, struct perf_session
*session
);
118 int event__process_mmap(event_t
*self
, struct perf_session
*session
);
119 int event__process_task(event_t
*self
, struct perf_session
*session
);
121 struct addr_location
;
122 int event__preprocess_sample(const event_t
*self
, struct perf_session
*session
,
123 struct addr_location
*al
, symbol_filter_t filter
);
124 int event__parse_sample(event_t
*event
, u64 type
, struct sample_data
*data
);
126 #endif /* __PERF_RECORD_H */