Re: [PATCH] perf script: format regression due to libtraceevent

From: Steven Rostedt
Date: Thu Jun 14 2012 - 14:42:05 EST


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@xxxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>

Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

-- Steve

> Cc: Namhyung Kim <namhyung@xxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Stephane Eranian <eranian@xxxxxxxxxx>
> Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
> ---
> 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,


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/