2399b2ac2b
[ Upstream commit 883d25e70b2f699fed9017e509d1ef8e36229b89 ] The fields filter would not work with child fields, as the respective parents would not be included. No parents displayed == no childs displayed. To reproduce, run on s390 (would work on other platforms, too, but would require a different filter name): - Run 'kvm_stat -d' - Press 'f' - Enter 'instruct' Notice that events like instruction_diag_44 or instruction_diag_500 are not displayed - the output remains empty. With this patch, we will filter by matching events and their parents. However, consider the following example where we filter by instruction_diag_44: kvm statistics - summary regex filter: instruction_diag_44 Event Total %Total CurAvg/s exit_instruction 276 100.0 12 instruction_diag_44 256 92.8 11 Total 276 12 Note that the parent ('exit_instruction') displays the total events, but the childs listed do not match its total (256 instead of 276). This is intended (since we're filtering all but one child), but might be confusing on first sight. Signed-off-by: Stefan Raspl <raspl@linux.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
105 lines
2.2 KiB
Text
105 lines
2.2 KiB
Text
kvm_stat(1)
|
|
===========
|
|
|
|
NAME
|
|
----
|
|
kvm_stat - Report KVM kernel module event counters
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'kvm_stat' [OPTION]...
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
kvm_stat prints counts of KVM kernel module trace events. These events signify
|
|
state transitions such as guest mode entry and exit.
|
|
|
|
This tool is useful for observing guest behavior from the host perspective.
|
|
Often conclusions about performance or buggy behavior can be drawn from the
|
|
output.
|
|
While running in regular mode, use any of the keys listed in section
|
|
'Interactive Commands' below.
|
|
Use batch and logging modes for scripting purposes.
|
|
|
|
The set of KVM kernel module trace events may be specific to the kernel version
|
|
or architecture. It is best to check the KVM kernel module source code for the
|
|
meaning of events.
|
|
|
|
INTERACTIVE COMMANDS
|
|
--------------------
|
|
[horizontal]
|
|
*b*:: toggle events by guests (debugfs only, honors filters)
|
|
|
|
*c*:: clear filter
|
|
|
|
*f*:: filter by regular expression
|
|
:: *Note*: Child events pull in their parents, and parents' stats summarize
|
|
all child events, not just the filtered ones
|
|
|
|
*g*:: filter by guest name/PID
|
|
|
|
*h*:: display interactive commands reference
|
|
|
|
*o*:: toggle sorting order (Total vs CurAvg/s)
|
|
|
|
*p*:: filter by guest name/PID
|
|
|
|
*q*:: quit
|
|
|
|
*r*:: reset stats
|
|
|
|
*s*:: set update interval
|
|
|
|
*x*:: toggle reporting of stats for child trace events
|
|
:: *Note*: The stats for the parents summarize the respective child trace
|
|
events
|
|
|
|
Press any other key to refresh statistics immediately.
|
|
|
|
OPTIONS
|
|
-------
|
|
-1::
|
|
--once::
|
|
--batch::
|
|
run in batch mode for one second
|
|
|
|
-l::
|
|
--log::
|
|
run in logging mode (like vmstat)
|
|
|
|
-t::
|
|
--tracepoints::
|
|
retrieve statistics from tracepoints
|
|
|
|
-d::
|
|
--debugfs::
|
|
retrieve statistics from debugfs
|
|
|
|
-i::
|
|
--debugfs-include-past::
|
|
include all available data on past events for debugfs
|
|
|
|
-p<pid>::
|
|
--pid=<pid>::
|
|
limit statistics to one virtual machine (pid)
|
|
|
|
-g<guest>::
|
|
--guest=<guest_name>::
|
|
limit statistics to one virtual machine (guest name)
|
|
|
|
-f<fields>::
|
|
--fields=<fields>::
|
|
fields to display (regex), "-f help" for a list of available events
|
|
|
|
-h::
|
|
--help::
|
|
show help message
|
|
|
|
SEE ALSO
|
|
--------
|
|
'perf'(1), 'trace-cmd'(1)
|
|
|
|
AUTHOR
|
|
------
|
|
Stefan Hajnoczi <stefanha@redhat.com>
|