Re: [PATCH 5/7] perf, tools, stat: Implement --metric-only mode

From: Jiri Olsa
Date: Tue Mar 01 2016 - 07:32:47 EST


On Mon, Feb 29, 2016 at 02:36:24PM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> Add a new mode to only print metrics. Sometimes we don't care about
> the raw values, just want the computed metrics. This allows more
> compact printing, so with -I each sample is only a single line.
> This also allows easier plotting and processing with other tools.
>
> The main target is with using --topdown, but it also works with
> -T and standard perf stat. A few metrics are not supported.
>
> To avoiding having to hardcode all the metrics in the code it uses
> a two pass approach: first compute dummy metrics and only
> print the headers in the print_metric callback. Then use the callback
> to print the actual values.
>
> There are some additional changes
> in the stat printout code to handle all metrics being on a single line.
>
> One issue is that the column code doesn't know in advance what events
> are not supported by the CPU, and it would be hard to find out
> as this could change based on dynamic conditions. That causes
> empty columns in some cases.
>
> The output can be fairly wide, often you may need more than 80 columns.
>
> Example:
>
> % perf stat -a -I 1000 --metric-only
> 1.001452803 frontend cycles idle insn per cycle stalled cycles per insn branch-misses of all branches
> 1.001452803 158.91% 0.66 2.39 2.92%
> 2.002192321 180.63% 0.76 2.08 2.96%
> 3.003088282 150.59% 0.62 2.57 2.84%
> 4.004369835 196.20% 0.98 1.62 3.79%
> 5.005227314 231.98% 0.84 1.90 4.71%

could you please align values with the headers

also I have same issue with the stalled cycles
being printed as empty in here:

[jolsa@krava perf]$ sudo ./perf stat -a -I 1000 --metric-only
1.000583845 insn per cycle stalled cycles per insn branch-misses of all branches
1.000583845 0.45 4.55%
2.001055181 0.86 4.06%
3.001262956 0.63 3.59%

thanks,
jirka