2019-09-20 06:34:35

by Kim Phillips

[permalink] [raw]
Subject: [PATCH 5/5] perf list: specify metrics are to be used with -M

Output of 'perf list metrics' before:

$ perf list metrics

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

Metrics:

C2_Pkg_Residency
[C2 residency percent per package]
...

This misleads the uninitiated user to try:

$ perf stat -e C2_Pkg_Residency

which gets:

event syntax error: 'C2_Pkg_Residency'
\___ parser error
Run 'perf list' for a list of valid events

Explicitly clarify that metrics and metricgroups are meant to
be used with -M, and correct the grammar for the -e equivalent
statement.

Output of 'perf list metrics' after:

$ perf list metrics

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

Metrics (to be used with -M):

C2_Pkg_Residency
[C2 residency percent per package]
...

Signed-off-by: Kim Phillips <[email protected]>
Cc: Janakarajan Natarajan <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Martin Liska <[email protected]>
Cc: Luke Mujica <[email protected]>
Cc: Jin Yao <[email protected]>
Cc: Kan Liang <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
tools/perf/builtin-list.c | 2 +-
tools/perf/util/metricgroup.c | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
index 08e62ae9d37e..be8e878aa556 100644
--- a/tools/perf/builtin-list.c
+++ b/tools/perf/builtin-list.c
@@ -51,7 +51,7 @@ int cmd_list(int argc, const char **argv)
setup_pager();

if (!raw_dump && pager_in_use())
- printf("\nList of pre-defined events (to be used in -e):\n\n");
+ printf("\nList of pre-defined events (to be used with -e):\n\n");

if (argc == 0) {
print_events(NULL, raw_dump, !desc_flag, long_desc_flag,
diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
index a7c0424dbda3..f116848be9f7 100644
--- a/tools/perf/util/metricgroup.c
+++ b/tools/perf/util/metricgroup.c
@@ -377,9 +377,10 @@ void metricgroup__print(bool metrics, bool metricgroups, char *filter,
}

if (metricgroups && !raw)
- printf("\nMetric Groups:\n\n");
+ printf("\nMetric Groups");
else if (metrics && !raw)
- printf("\nMetrics:\n\n");
+ printf("\nMetrics");
+ printf(" (to be used with -M):\n\n");

for (node = rb_first_cached(&groups.entries); node; node = next) {
struct mep *me = container_of(node, struct mep, nd);
--
2.23.0


2019-09-20 08:19:02

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH 5/5] perf list: specify metrics are to be used with -M

> This misleads the uninitiated user to try:
>
> $ perf stat -e C2_Pkg_Residency

Actually I guess we could just fix -e to support metrics too.
Would probably not be that difficult.

-Andi