[PATCH v3 00/10] Restructure perf list and add json output

From: Ian Rogers
Date: Mon Nov 14 2022 - 16:07:43 EST


Restructure perf list so that it uses callbacks to print events and
metrics. Use the callbacks to implement json output. In the process
add documentation to pmu.h, avoid some sorting of events, fix some
command line and output bugs.

v3. Removes is_hybrid from perf_pmu as suggested by Kan Liang.
ScaleUnit is added to the json output as suggested by
Weilin Wang. Some comments are also improved.
v2. Address feedback from Adrian Hunter and make kernel-doc work.

Ian Rogers (10):
perf pmu: Remove is_hybrid member
perf pmu: Add documentation
tools lib api fs tracing_path: Add scandir alphasort
perf tracepoint: Sort events in iterator
perf list: Generalize limiting to a PMU name
perf list: Simplify cache event printing
perf list: Simplify symbol event printing
perf pmu: Restructure print_pmu_events
perf list: Reorganize to use callbacks
perf list: Add json output option

tools/lib/api/fs/tracing_path.c | 16 +
tools/lib/api/fs/tracing_path.h | 1 +
tools/perf/Documentation/perf-list.txt | 10 +-
tools/perf/builtin-list.c | 525 +++++++++++++++++---
tools/perf/util/evsel.c | 5 +-
tools/perf/util/evsel.h | 2 +-
tools/perf/util/metricgroup.c | 242 +++-------
tools/perf/util/metricgroup.h | 4 +-
tools/perf/util/pmu.c | 288 ++++++-----
tools/perf/util/pmu.h | 128 ++++-
tools/perf/util/print-events.c | 638 ++++++++++---------------
tools/perf/util/print-events.h | 42 +-
tools/perf/util/stat.c | 11 +-
13 files changed, 1102 insertions(+), 810 deletions(-)

--
2.38.1.431.g37b22c650d-goog