Messages in this thread | | | Subject | Re: [PATCH] perf script: format regression due to libtraceevent | From | Steven Rostedt <> | Date | Thu, 14 Jun 2012 14:42:06 -0400 |
| |
On Thu, 2012-06-14 at 12:36 -0600, David Ahern wrote: > Consider the commands: > perf record -e sched:sched_switch -fo /tmp/perf.data -a -- sleep 1 > perf script -i /tmp/perf.data > > In v3.4 the output has the form (lines wrapped here) > perf 29214 [005] 821043.582596: sched_switch: > prev_comm=perf prev_pid=29214 prev_prio=120 > prev_state=S ==> next_comm=swapper/5 next_pid=0 next_prio=120 > > In 3.5 that same line has become: > perf 29214 [005] 821043.582596: sched_switch: > <...>-29214 [005] 0.000000000: sched_switch: > prev_comm=perf prev_pid=29214 prev_prio=120 > prev_state=S ==> next_comm=swapper/5 next_pid=0 next_prio=120 > > Note the duplicates in the output -- pid, cpu, event name. With > this patch the v3.4 output is restored: > perf 29214 [005] 821043.582596: sched_switch: > prev_comm=perf prev_pid=29214 prev_prio=120 > prev_state=S ==> next_comm=swapper/5 next_pid=0 next_prio=120 > > v3: > Remove that pesky newline too. Output now matches v3.4 (pre-libtracevent). > > v2: > Change print_trace_event function local to perf per Steve's comments. > > CC: Arnaldo Carvalho de Melo <acme@redhat.com> > Cc: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
-- Steve
> Cc: Namhyung Kim <namhyung@gmail.com> > Cc: Frederic Weisbecker <fweisbec@gmail.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Stephane Eranian <eranian@google.com> > Signed-off-by: David Ahern <dsahern@gmail.com> > --- > tools/perf/util/trace-event-parse.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c > index df2fddb..5dd3b5e 100644 > --- a/tools/perf/util/trace-event-parse.c > +++ b/tools/perf/util/trace-event-parse.c > @@ -198,9 +198,8 @@ void print_trace_event(int cpu, void *data, int size) > record.data = data; > > trace_seq_init(&s); > - pevent_print_event(pevent, &s, &record); > + pevent_event_info(&s, event, &record); > trace_seq_do_printf(&s); > - printf("\n"); > } > > void print_event(int cpu, void *data, int size, unsigned long long nsecs,
| |