[PATCH v2 00/14] perf kvm: Support histograms and TUI mode

From: Leo Yan
Date: Tue Feb 28 2023 - 03:42:14 EST


This patch set is to enable histograms and (partially) TUI mode in perf
kvm tool.

Patch set v1 [1] gives brief introduction for the change and this series
has a minor update for the patch 13 'perf kvm: Add TUI mode for stat
report' to avoid building failure when the system doesn't support
HAVE_SLANG_SUPPORT.

We can use below commands for testing this series:

In a terminal, you could launch a virtual machine with qemu command; in
below case, I downloaded a Ubuntu (or Debian) iso file and used it as
the file system image:

$ qemu-system-x86_64 -M pc -enable-kvm -cpu host -m 4096 -hda ubuntu-22.04-desktop-amd64.iso

Then in another terminal, I can use below command to capture KVM trace
data and report the result:

# cd linux/tools/perf
# ./perf kvm stat record
# ./perf kvm stat report => Output in TUI mode
# ./perf kvm stat report --stdio => Output in stdio mode

Changes from v1:
* Updated the patch 13 'perf kvm: Add TUI mode for stat report' to avoid
building failure if no support HAVE_SLANG_SUPPORT.

[1] https://lore.kernel.org/lkml/20230226042053.1492409-1-leo.yan@xxxxxxxxxx/


Leo Yan (14):
perf kvm: Refactor overall statistics
perf kvm: Add pointer to 'perf_kvm_stat' in kvm event
perf kvm: Move up metrics helpers
perf kvm: Use subtraction for comparison metrics
perf kvm: Introduce histograms data structures
perf kvm: Pass argument 'sample' to kvm_alloc_init_event()
perf kvm: Parse address location for samples
perf kvm: Add dimensions for KVM event statistics
perf kvm: Use histograms list to replace cached list
perf kvm: Polish sorting key
perf kvm: Support printing attributions for dimensions
perf kvm: Add dimensions for percentages
perf kvm: Add TUI mode for stat report
perf kvm: Update documentation to reflect new changes

tools/perf/Documentation/perf-kvm.txt | 9 +-
tools/perf/builtin-kvm.c | 856 +++++++++++++++++++++-----
tools/perf/util/kvm-stat.h | 26 +-
3 files changed, 716 insertions(+), 175 deletions(-)

--
2.34.1