From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752100AbcCJO1e (ORCPT ); Thu, 10 Mar 2016 09:27:34 -0500 Received: from mga04.intel.com ([192.55.52.120]:1471 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751579AbcCJO1Z (ORCPT ); Thu, 10 Mar 2016 09:27:25 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,316,1455004800"; d="scan'208";a="667068945" From: Andi Kleen To: acme@kernel.org Cc: jolsa@kernel.org, linux-kernel@vger.kernel.org, Andi Kleen Subject: [PATCH] perf, tools, stat: Print warning when no metric with --metric-only Date: Thu, 10 Mar 2016 06:27:17 -0800 Message-Id: <1457620037-2978-1-git-send-email-andi@firstfloor.org> X-Mailer: git-send-email 2.5.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andi Kleen Print a warning when --metric-only is specified, but the events define no metric. Requested by Jiri. % perf stat -e cycles --metric-only true Performance counter stats for 'true': No metrics defined by configured events 0.001612070 seconds time elapsed Signed-off-by: Andi Kleen --- tools/perf/builtin-stat.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 1f19f2f..70efb58 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -743,6 +743,7 @@ struct outstate { int nfields; int id, nr; struct perf_evsel *evsel; + int nheaders; }; #define METRIC_LEN 35 @@ -919,6 +920,7 @@ static void print_metric_header(void *ctx, const char *color __maybe_unused, fprintf(os->fh, "%s%s", unit, csv_sep); else fprintf(os->fh, "%-*s ", METRIC_ONLY_LEN, unit); + os->nheaders++; } static void nsec_printout(int id, int nr, struct perf_evsel *evsel, double avg) @@ -1315,6 +1317,8 @@ static void print_metric_headers(char *prefix) &out); } fputc('\n', stat_config.output); + if (os.nheaders == 0) + pr_warning("No metrics defined by configured events\n"); } static void print_interval(char *prefix, struct timespec *ts) -- 2.5.0