Re: [PATCHv3 0/4] perf tools: Add support for user defined metric
From: John Garry
Date: Tue Jan 25 2022 - 07:39:49 EST
On 11/05/2020 21:53, Jiri Olsa wrote:
+
Hi jirka,
Did you a plan to continue to work? I don't think that this support was
ever merged.
We have a requirement to be able to tune parameters of metrics, and
support here seems suitable.
Thanks,
John
hi,
Joe asked for possibility to add user defined metrics. Given that
we already have metrics support, I added --metrics-file option that
allows to specify custom metrics.
$ cat metrics
# IPC
mine1 = instructions / cycles;
/* DECODED_ICACHE_UOPS% */
mine2 = 100 * (idq.dsb_uops / \ (idq.ms_uops + idq.mite_uops + idq.dsb_uops + lsd.uops));
$ sudo perf stat --metrics-file ./metrics -M mine1,mine2 --metric-only -a -I 1000
# time insn per cycle mine1 mine2
1.000536263 0.71 0.7 41.4
2.002069025 0.31 0.3 14.1
3.003427684 0.27 0.3 14.8
4.004807132 0.25 0.2 12.1
...
v3 changes:
- added doc for metrics file in perf stat man page
- reporting error line number now
- changed '#' style comment to C way with '//'
v2 changes:
- add new --metrics-file option
- rebased on current perf/core expression bison/flex enhancements
Also available in:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/metric
thanks,
jirka
---
Jiri Olsa (4):
perf expr: Add parsing support for multiple expressions
perf expr: Allow comments in custom metric file
perf stat: Add --metrics-file option
perf expr: Report line number with error
tools/perf/Documentation/perf-stat.txt | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/perf/builtin-stat.c | 7 +++++--
tools/perf/tests/expr.c | 18 ++++++++++++++++++
tools/perf/util/expr.c | 6 ++++++
tools/perf/util/expr.h | 21 +++++++++++++++++++--
tools/perf/util/expr.l | 34 ++++++++++++++++++++++++++++++++++
tools/perf/util/expr.y | 21 +++++++++++++++++----
tools/perf/util/metricgroup.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
tools/perf/util/metricgroup.h | 3 ++-
tools/perf/util/stat.h | 1 +
10 files changed, 242 insertions(+), 16 deletions(-)
.