[tip:perf/core] perf stat: Print generic metric header even for failed expressions

From: tip-bot for Andi Kleen
Date: Fri Sep 22 2017 - 12:31:17 EST


Commit-ID: 4ed962eb38c8a33b8b6ded911410afaefa1ca48c
Gitweb: http://git.kernel.org/tip/4ed962eb38c8a33b8b6ded911410afaefa1ca48c
Author: Andi Kleen <ak@xxxxxxxxxxxxxxx>
AuthorDate: Thu, 31 Aug 2017 12:40:29 -0700
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Wed, 13 Sep 2017 09:49:13 -0300

perf stat: Print generic metric header even for failed expressions

Print the generic metric header even when the expression evaluation
failed. Otherwise an expression that fails on the first collections due
to division by zero may suddenly reappear later without an header.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20170831194036.30146-5-andi@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/stat-shadow.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
index 96aa6cb..8c7ab29 100644
--- a/tools/perf/util/stat-shadow.c
+++ b/tools/perf/util/stat-shadow.c
@@ -662,7 +662,9 @@ static void generic_metric(const char *metric_expr,
out->force_header ? name : "",
ratio);
else
- print_metric(ctxp, NULL, NULL, "", 0);
+ print_metric(ctxp, NULL, NULL,
+ out->force_header ?
+ (metric_name ? metric_name : name) : "", 0);
} else
print_metric(ctxp, NULL, NULL, "", 0);
}