Enhance usability by allowing the same plurality used in the output title, for
the command line parameter.

BEFORE, perf deceitfully acts as if there are no metrics to be had:

  $ perf list metrics

  List of pre-defined events (to be used in -e):

  Metric Groups:

  $

But singular 'metric' shows a list of metrics:

$ perf list metric

List of pre-defined events (to be used in -e):

Metrics:

  IPC
       [Instructions Per Cycle (per logical thread)]
  UPI
       [Uops Per Instruction]

AFTER, when asking for 'metrics', we actually see the metrics get listed:

$ perf list metrics

List of pre-defined events (to be used in -e):

Metrics:

  IPC
       [Instructions Per Cycle (per logical thread)]
  UPI
       [Uops Per Instruction]

Signed-off-by: Kim Phillips <kim.phill...@amd.com>
Cc: Janakarajan Natarajan <janakarajan.natara...@amd.com>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: Arnaldo Carvalho de Melo <a...@kernel.org>
Cc: Alexander Shishkin <alexander.shish...@linux.intel.com>
Cc: Andi Kleen <a...@linux.intel.com>
Cc: Jiri Olsa <jo...@redhat.com>
Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Borislav Petkov <b...@suse.de>
Cc: Martin Liska <mli...@suse.cz>
Cc: Luke Mujica <lukemuj...@google.com>
Cc: Jin Yao <yao....@linux.intel.com>
Cc: Kan Liang <kan.li...@linux.intel.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-perf-us...@vger.kernel.org
Fixes: 71b0acce78d1 ("perf list: Add metric groups to perf list")
---
 tools/perf/builtin-list.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
index e290f6b348d8..08e62ae9d37e 100644
--- a/tools/perf/builtin-list.c
+++ b/tools/perf/builtin-list.c
@@ -81,9 +81,9 @@ int cmd_list(int argc, const char **argv)
                                                long_desc_flag, details_flag);
                else if (strcmp(argv[i], "sdt") == 0)
                        print_sdt_events(NULL, NULL, raw_dump);
-               else if (strcmp(argv[i], "metric") == 0)
+               else if (strcmp(argv[i], "metric") == 0 || strcmp(argv[i], 
"metrics") == 0)
                        metricgroup__print(true, false, NULL, raw_dump, 
details_flag);
-               else if (strcmp(argv[i], "metricgroup") == 0)
+               else if (strcmp(argv[i], "metricgroup") == 0 || strcmp(argv[i], 
"metricgroups") == 0)
                        metricgroup__print(false, true, NULL, raw_dump, 
details_flag);
                else if ((sep = strchr(argv[i], ':')) != NULL) {
                        int sep_idx;
-- 
2.23.0

Reply via email to