Re: [PATCH 2/7] perf, tools, stat: Implement CSV metrics output

From: Jiri Olsa
Date: Tue Mar 01 2016 - 07:31:50 EST


On Mon, Feb 29, 2016 at 02:36:21PM -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.
>
> This allows to easily plot metrics from CSV files.
>
> 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
> .502457,,task-clock,502457,100.00,0.485,CPUs utilized
> 0,,context-switches,502457,100.00,0.000,K/sec
> 0,,cpu-migrations,502457,100.00,0.000,K/sec
> 45,,page-faults,502457,100.00,0.090,M/sec
> 644692,,cycles,509102,100.00,1.283,GHz
> 423470,,stalled-cycles-frontend,509102,100.00,65.69,frontend cycles idle
> <not supported>,,stalled-cycles-backend,0,100.00,,,,
> 492701,,instructions,509102,100.00,0.76,insn per cycle
> ,,,,,0.86,stalled cycles per insn
> 97767,,branches,509102,100.00,194.578,M/sec
> 4788,,branch-misses,509102,100.00,4.90,of all branches
>
> or easier readable
>
> perf stat -x, -o x.csv true
> [ak@tassilo hle]$ column -s, -t x.csv
> 0.490635 task-clock 490635 100.00 0.489 CPUs utilized
> 0 context-switches 490635 100.00 0.000 K/sec
> 0 cpu-migrations 490635 100.00 0.000 K/sec
> 45 page-faults 490635 100.00 0.092 M/sec
> 629080 cycles 497698 100.00 1.282 GHz
> 409498 stalled-cycles-frontend 497698 100.00 65.09 frontend cycles idle
> <not supported> stalled-cycles-backend 0 100.00
> 491424 instructions 497698 100.00 0.78 insn per cycle
> 0.83 stalled cycles per insn
> 97278 branches 497698 100.00 198.270 M/sec
> 4569 branch-misses 497698 100.00 4.70 of all branches
>
> Two new fields are added: metric value and metric name.

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka