aboutsummaryrefslogtreecommitdiffstats
path: root/parse-events.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse-events.c')
-rw-r--r--parse-events.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/parse-events.c b/parse-events.c
index 49cde00..d53184b 100644
--- a/parse-events.c
+++ b/parse-events.c
@@ -3113,13 +3113,14 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event
3113 * and lock depth) and places it into the trace_seq. 3113 * and lock depth) and places it into the trace_seq.
3114 */ 3114 */
3115void pevent_data_lat_fmt(struct pevent *pevent, 3115void pevent_data_lat_fmt(struct pevent *pevent,
3116 struct trace_seq *s, void *data, int size __unused) 3116 struct trace_seq *s, struct record *record)
3117{ 3117{
3118 unsigned int lat_flags; 3118 unsigned int lat_flags;
3119 unsigned int pc; 3119 unsigned int pc;
3120 int lock_depth; 3120 int lock_depth;
3121 int hardirq; 3121 int hardirq;
3122 int softirq; 3122 int softirq;
3123 void *data = record->data;
3123 3124
3124 lat_flags = parse_common_flags(pevent, data); 3125 lat_flags = parse_common_flags(pevent, data);
3125 pc = parse_common_pc(pevent, data); 3126 pc = parse_common_pc(pevent, data);
@@ -3215,30 +3216,32 @@ const char *pevent_data_comm_from_pid(struct pevent *pevent, int pid)
3215 * writes the print format into the trace_seq. 3216 * writes the print format into the trace_seq.
3216 */ 3217 */
3217void pevent_event_info(struct trace_seq *s, struct event_format *event, 3218void pevent_event_info(struct trace_seq *s, struct event_format *event,
3218 int cpu, void *data, int size, unsigned long long nsecs) 3219 int cpu, struct record *record)
3219{ 3220{
3220 if (event->handler) 3221 if (event->handler)
3221 event->handler(s, data, size, event, cpu, nsecs); 3222 event->handler(s, record, event, cpu);
3222 else 3223 else
3223 pretty_print(s, data, size, event); 3224 pretty_print(s, record->data, record->size, event);
3224 3225
3225 trace_seq_terminate(s); 3226 trace_seq_terminate(s);
3226} 3227}
3227 3228
3228void pevent_print_event(struct pevent *pevent, struct trace_seq *s, 3229void pevent_print_event(struct pevent *pevent, struct trace_seq *s,
3229 int cpu, void *data, int size, unsigned long long nsecs) 3230 int cpu, struct record *record)
3230{ 3231{
3231 static char *spaces = " "; /* 20 spaces */ 3232 static char *spaces = " "; /* 20 spaces */
3232 struct event_format *event; 3233 struct event_format *event;
3233 unsigned long secs; 3234 unsigned long secs;
3234 unsigned long usecs; 3235 unsigned long usecs;
3235 const char *comm; 3236 const char *comm;
3237 void *data = record->data;
3238 int size = record->size;
3236 int type; 3239 int type;
3237 int pid; 3240 int pid;
3238 int len; 3241 int len;
3239 3242
3240 secs = nsecs / NSECS_PER_SEC; 3243 secs = record->ts / NSECS_PER_SEC;
3241 usecs = nsecs - secs * NSECS_PER_SEC; 3244 usecs = record->ts - secs * NSECS_PER_SEC;
3242 usecs = usecs / NSECS_PER_USEC; 3245 usecs = usecs / NSECS_PER_USEC;
3243 3246
3244 type = trace_parse_common_type(pevent, data); 3247 type = trace_parse_common_type(pevent, data);
@@ -3255,7 +3258,7 @@ void pevent_print_event(struct pevent *pevent, struct trace_seq *s,
3255 if (pevent->latency_format) { 3258 if (pevent->latency_format) {
3256 trace_seq_printf(s, "%8.8s-%-5d %3d", 3259 trace_seq_printf(s, "%8.8s-%-5d %3d",
3257 comm, pid, cpu); 3260 comm, pid, cpu);
3258 pevent_data_lat_fmt(pevent, s, data, size); 3261 pevent_data_lat_fmt(pevent, s, record);
3259 } else 3262 } else
3260 trace_seq_printf(s, "%16s-%-5d [%03d]", comm, pid, cpu); 3263 trace_seq_printf(s, "%16s-%-5d [%03d]", comm, pid, cpu);
3261 3264
@@ -3267,7 +3270,7 @@ void pevent_print_event(struct pevent *pevent, struct trace_seq *s,
3267 trace_seq_printf(s, "%.*s", 20 - len, spaces); 3270 trace_seq_printf(s, "%.*s", 20 - len, spaces);
3268 3271
3269 if (event->handler) 3272 if (event->handler)
3270 event->handler(s, data, size, event, cpu, nsecs); 3273 event->handler(s, record, event, cpu);
3271 else 3274 else
3272 pretty_print(s, data, size, event); 3275 pretty_print(s, data, size, event);
3273 3276