[PATCH 2/3] perf list: Do not print 'Metric Groups:' unnecessarily
From: Namhyung Kim
Date: Wed Sep 09 2020 - 01:59:09 EST
It was printed unconditionally even if nothing is printed.
Check if the output list empty when filter is given.
Before:
$ ./perf list duration
List of pre-defined events (to be used in -e):
duration_time [Tool event]
Metric Groups:
After:
$ ./perf list duration
List of pre-defined events (to be used in -e):
duration_time [Tool event]
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
index 8831b964288f..38464d7d2d63 100644
--- a/tools/perf/util/metricgroup.c
+++ b/tools/perf/util/metricgroup.c
@@ -535,10 +535,12 @@ void metricgroup__print(bool metrics, bool metricgroups, char *filter,
}
}
- if (metricgroups && !raw)
- printf("\nMetric Groups:\n\n");
- else if (metrics && !raw)
- printf("\nMetrics:\n\n");
+ if (!filter || !rblist__empty(&groups)) {
+ if (metricgroups && !raw)
+ printf("\nMetric Groups:\n\n");
+ else if (metrics && !raw)
+ printf("\nMetrics:\n\n");
+ }
for (node = rb_first_cached(&groups.entries); node; node = next) {
struct mep *me = container_of(node, struct mep, nd);
--
2.28.0.526.ge36021eeef-goog