[PATCH v4 00/12] Foundations for metric generation with Python

Ian Rogers posted 12 patches 2 months ago
tools/perf/.gitignore                  |   2 +
tools/perf/Makefile.perf               |  23 +++-
tools/perf/pmu-events/Build            |  62 +++++++++-
tools/perf/pmu-events/amd_metrics.py   |  42 +++++++
tools/perf/pmu-events/arm64_metrics.py |  43 +++++++
tools/perf/pmu-events/intel_metrics.py |  42 +++++++
tools/perf/pmu-events/jevents.py       |   6 +-
tools/perf/pmu-events/metric.py        | 162 +++++++++++++++++++++----
tools/perf/pmu-events/metric_test.py   |   4 +
9 files changed, 348 insertions(+), 38 deletions(-)
create mode 100755 tools/perf/pmu-events/amd_metrics.py
create mode 100755 tools/perf/pmu-events/arm64_metrics.py
create mode 100755 tools/perf/pmu-events/intel_metrics.py
[PATCH v4 00/12] Foundations for metric generation with Python
Posted by Ian Rogers 2 months ago
Metrics in the perf tool come in via json. Json doesn't allow
comments, line breaks, etc. making it an inconvenient way to write
metrics. Further, it is useful to detect when writing a metric that
the event specified is supported within the event json for a model.

These patches introduce infrastructure and fixes for the addition of
metrics written in python for Arm64, AMD Zen and Intel CPUs. Later
patches will introduce the metrics split apart by the vendor.

v4. Rebase and small Build/Makefile tweak
v3. Some code tidying, make the input directory a command line
    argument, but no other functional or output changes.
v2. Fixes two type issues in the python code but no functional or
    output changes.

Ian Rogers (12):
  perf jevents: Allow multiple metricgroups.json files
  perf jevents: Update metric constraint support
  perf jevents: Add descriptions to metricgroup abstraction
  perf jevents: Allow metric groups not to be named
  perf jevents: Support parsing negative exponents
  perf jevents: Term list fix in event parsing
  perf jevents: Add threshold expressions to Metric
  perf jevents: Move json encoding to its own functions
  perf jevents: Drop duplicate pending metrics
  perf jevents: Skip optional metrics in metric group list
  perf jevents: Build support for generating metrics from python
  perf jevents: Add load event json to verify and allow fallbacks

 tools/perf/.gitignore                  |   2 +
 tools/perf/Makefile.perf               |  23 +++-
 tools/perf/pmu-events/Build            |  62 +++++++++-
 tools/perf/pmu-events/amd_metrics.py   |  42 +++++++
 tools/perf/pmu-events/arm64_metrics.py |  43 +++++++
 tools/perf/pmu-events/intel_metrics.py |  42 +++++++
 tools/perf/pmu-events/jevents.py       |   6 +-
 tools/perf/pmu-events/metric.py        | 162 +++++++++++++++++++++----
 tools/perf/pmu-events/metric_test.py   |   4 +
 9 files changed, 348 insertions(+), 38 deletions(-)
 create mode 100755 tools/perf/pmu-events/amd_metrics.py
 create mode 100755 tools/perf/pmu-events/arm64_metrics.py
 create mode 100755 tools/perf/pmu-events/intel_metrics.py

-- 
2.46.1.824.gd892dcdcdd-goog