Re: [PATCH 4/8] perf, tools, stat: Implement CSV metrics output

From: Jiri Olsa
Date: Thu Jan 28 2016 - 05:12:50 EST


On Tue, Jan 26, 2016 at 04:42:53PM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> Now support CSV output for metrics. With the new output callbacks
> this is relatively straight forward by creating new callbacks.
>
> The new line callback needs to know the number of fields to skip them
> correctly
>
> Example output before:
>
> % perf stat -x, true
> 0.200687,,task-clock,200687,100.00
> 0,,context-switches,200687,100.00
> 0,,cpu-migrations,200687,100.00
> 40,,page-faults,200687,100.00
> 730871,,cycles,203601,100.00
> 551056,,stalled-cycles-frontend,203601,100.00
> <not supported>,,stalled-cycles-backend,0,100.00
> 385523,,instructions,203601,100.00
> 78028,,branches,203601,100.00
> 3946,,branch-misses,203601,100.00
>
> After:
>
> % perf stat -x, true
> 0.341119,,task-clock,0.461,CPUs utilized,0.00%,324342,100.00
> 0,,context-switches,0.000,K/sec,0.00%,324342,100.00
> 0,,cpu-migrations,0.000,K/sec,0.00%,324342,100.00
> 41,,page-faults,0.126,M/sec,0.00%,324342,100.00
> 674068,,cycles,2.078,GHz,0.00%,330887,100.00
> 508189,,stalled-cycles-frontend,82.31,frontend cycles idle,0.00%,330887,100.00
> <not supported>,,stalled-cycles-backend,,,0.00%,0,100.00
> 374932,,instructions,0.61,insn per cycle
> ,,,1.20,stalled cycles per insn,0.00%,330887,100.00
> 76540,,branches,235.985,M/sec,0.00%,330887,100.00
> 3091,,branch-misses,4.09,of all branches,0.00%,330887,100.00

hum, I'm confused, the docs you added says:

---
The fields are in this order:

- optional usec time stamp in fractions of second (with -I xxx)
- counter value
- unit of the counter value or empty
- event name
- run time of counter
- percentage of measurement time the counter was running
- optional metric value
- optional unit of metric
---

and here you say it's before running/enabled fields:

>
> Two new fields are added: metric value and metric name before
> the running/enabled fields.
>

thanks,
jirka