diff options
author | Ian Rogers <irogers@google.com> | 2023-09-05 21:15:54 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2023-09-11 16:26:36 +0300 |
commit | fa88095856dfbad439129324a0fb6b4716e17ab1 (patch) | |
tree | 560fd601c460261dfe59870626991eb2197d6dc5 /tools/perf/perf-completion.sh | |
parent | 493902fcbdd608a6ece49c1670ffc76fed1e617f (diff) | |
download | linux-fa88095856dfbad439129324a0fb6b4716e17ab1.tar.xz |
perf shell completion: Support completion of metrics/metricgroups
Allow metrics to expand for -M or --metrics options.
Committer testing:
# grep -m1 'model name' /proc/cpuinfo
model name : AMD Ryzen 9 5950X 16-Core Processor
#
Before:
Just expansion of files/directories in the pwd are expanded:
# . tools/perf/perf-completion.sh
# perf stat -M b
block/ build/
# perf stat -M b
After:
# . tools/perf/perf-completion.sh
# perf stat -M
all_l2_cache_accesses all_remote_links_outbound data_fabric l1_itlb_misses l2_cache_misses_from_l2_hwpf macro_ops_dispatched tlb
all_l2_cache_hits branch_misprediction_ratio decoder l2_cache l3_cache nps1_die_to_dram
all_l2_cache_misses branch_prediction ic_fetch_miss_ratio l2_cache_accesses_from_l2_hwpf l3_read_miss_latency op_cache_fetch_miss_ratio
# perf stat -M branch_
branch_misprediction_ratio branch_prediction
# perf stat -M branch_prediction -a sleep 1
Performance counter stats for 'system wide':
115,079,765 ex_ret_brn # 4.0 % branch_misprediction_ratio
4,561,456 ex_ret_brn_misp
1.015925106 seconds time elapsed
#
Suggested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: https://lore.kernel.org/r/20230905181554.3202873-3-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/perf-completion.sh')
-rw-r--r-- | tools/perf/perf-completion.sh | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh index 319ad724b97a..f224d79b89e6 100644 --- a/tools/perf/perf-completion.sh +++ b/tools/perf/perf-completion.sh @@ -202,6 +202,10 @@ __perf_main () $prev_skip_opts == @(record|stat|top) ]]; then local evts=$($cmd list --raw-dump pfm) __perfcomp "$evts" "$cur" + elif [[ $prev == @("-M"|"--metrics") && + $prev_skip_opts == @(stat) ]]; then + local metrics=$($cmd list --raw-dump metric metricgroup) + __perfcomp "$metrics" "$cur" else # List subcommands for perf commands if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched| |