summaryrefslogtreecommitdiffstats
path: root/tools/kvm
diff options
context:
space:
mode:
authorStefan Raspl <raspl@linux.vnet.ibm.com>2017-03-10 13:40:14 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2017-03-29 12:01:32 +0200
commit4443084fa0cf85f91d357c8917b90504b784d925 (patch)
treef72726e30ede2d53c03d13bc50ec16d572473bc6 /tools/kvm
parentf9ff1087354e5e063b96a291360a8de84bea0bed (diff)
downloadlinux-stable-4443084fa0cf85f91d357c8917b90504b784d925.tar.gz
linux-stable-4443084fa0cf85f91d357c8917b90504b784d925.tar.bz2
linux-stable-4443084fa0cf85f91d357c8917b90504b784d925.zip
tools/kvm_stat: add interactive command 'c'
Provide a real simple way to erase any active filter. Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com> Reviewed-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Diffstat (limited to 'tools/kvm')
-rwxr-xr-xtools/kvm/kvm_stat/kvm_stat16
-rw-r--r--tools/kvm/kvm_stat/kvm_stat.txt2
2 files changed, 14 insertions, 4 deletions
diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat
index f263312c9a29..676a92a4a12e 100755
--- a/tools/kvm/kvm_stat/kvm_stat
+++ b/tools/kvm/kvm_stat/kvm_stat
@@ -861,6 +861,7 @@ DELAY_INITIAL = 0.25
DELAY_REGULAR = 3.0
MAX_GUEST_NAME_LEN = 48
MAX_REGEX_LEN = 44
+DEFAULT_REGEX = r'^[^\(]*$'
class Tui(object):
@@ -907,9 +908,9 @@ class Tui(object):
def update_drilldown(self):
"""Sets or removes a filter that only allows fields without braces."""
if not self.stats.fields_filter:
- self.stats.fields_filter = r'^[^\(]*$'
+ self.stats.fields_filter = DEFAULT_REGEX
- elif self.stats.fields_filter == r'^[^\(]*$':
+ elif self.stats.fields_filter == DEFAULT_REGEX:
self.stats.fields_filter = None
def update_pid(self, pid):
@@ -931,7 +932,8 @@ class Tui(object):
.format(pid, gname), curses.A_BOLD)
else:
self.screen.addstr(0, 0, 'kvm statistics - summary', curses.A_BOLD)
- if self.stats.fields_filter and self.stats.fields_filter != '^[^\(]*$':
+ if self.stats.fields_filter and self.stats.fields_filter \
+ != DEFAULT_REGEX:
regex = self.stats.fields_filter
if len(regex) > MAX_REGEX_LEN:
regex = regex[:MAX_REGEX_LEN] + '...'
@@ -991,7 +993,7 @@ class Tui(object):
regex = self.screen.getstr()
curses.noecho()
if len(regex) == 0:
- self.stats.fields_filter = r'^[^\(]*$'
+ self.stats.fields_filter = DEFAULT_REGEX
self.refresh_header()
return
try:
@@ -1101,6 +1103,11 @@ class Tui(object):
sleeptime = DELAY_INITIAL
if char == 'q':
break
+ if char == 'c':
+ self.stats.fields_filter = DEFAULT_REGEX
+ self.refresh_header(0)
+ self.update_pid(0)
+ sleeptime = DELAY_INITIAL
if char == 'f':
self.show_filter_selection()
sleeptime = DELAY_INITIAL
@@ -1177,6 +1184,7 @@ Requirements:
the large number of files that are possibly opened.
Interactive Commands:
+ c clear filter
f filter by regular expression
g filter by guest name
p filter by PID
diff --git a/tools/kvm/kvm_stat/kvm_stat.txt b/tools/kvm/kvm_stat/kvm_stat.txt
index 35587c3c2610..c3ab6a2c8c37 100644
--- a/tools/kvm/kvm_stat/kvm_stat.txt
+++ b/tools/kvm/kvm_stat/kvm_stat.txt
@@ -29,6 +29,8 @@ meaning of events.
INTERACTIVE COMMANDS
--------------------
[horizontal]
+*c*:: clear filter
+
*f*:: filter by regular expression
*g*:: filter by guest name