• Andi Kleen's avatar
    perf stat: Implement --metric-only mode · 54b50916
    Andi Kleen authored
    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%
    
    v2: Lots of updates.
    v3: Use slightly narrower columns
    v4: Add comment
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Link: http://lkml.kernel.org/r/1457049458-28956-6-git-send-email-andi@firstfloor.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    54b50916
perf-stat.txt 7.31 KB