lkml.org 
[lkml]   [2016]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/4] perf stat: Add missing aggregation headers for --metric-only CSV
    Date
    From: Andi Kleen <ak@linux.intel.com>

    When in CSV mode --metric-only outputs an header, unlike the other
    modes. Previously it did not properly print headers for the
    aggregation columns, so the headers were actually shifted against
    the real values.

    Fix this here by outputting the correct headers for CSV.

    Acked-by: Jiri Olsa <jolsa@kernel.org
    v2: Indent array.
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    tools/perf/builtin-stat.c | 14 ++++++++++++++
    1 file changed, 14 insertions(+)

    diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
    index c01fc7100dad..5a28976ae374 100644
    --- a/tools/perf/builtin-stat.c
    +++ b/tools/perf/builtin-stat.c
    @@ -1316,6 +1316,14 @@ static int aggr_header_lens[] = {
    [AGGR_GLOBAL] = 0,
    };

    +static const char *aggr_header_csv[] = {
    + [AGGR_CORE] = "core,cpus,",
    + [AGGR_SOCKET] = "socket,cpus",
    + [AGGR_NONE] = "cpu,",
    + [AGGR_THREAD] = "comm-pid,",
    + [AGGR_GLOBAL] = ""
    +};
    +
    static void print_metric_headers(const char *prefix, bool no_indent)
    {
    struct perf_stat_output_ctx out;
    @@ -1330,6 +1338,12 @@ static void print_metric_headers(const char *prefix, bool no_indent)
    if (!csv_output && !no_indent)
    fprintf(stat_config.output, "%*s",
    aggr_header_lens[stat_config.aggr_mode], "");
    + if (csv_output) {
    + if (stat_config.interval)
    + fputs("time,", stat_config.output);
    + fputs(aggr_header_csv[stat_config.aggr_mode],
    + stat_config.output);
    + }

    /* Print metrics headers only */
    evlist__for_each(evsel_list, counter) {
    --
    2.5.5
    \
     
     \ /
      Last update: 2016-05-24 22:01    [W:6.681 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site