All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Raspl <raspl@linux.vnet.ibm.com>
To: kvm@vger.kernel.org
Cc: pbonzini@redhat.com, rkrcmar@redhat.com, frankja@linux.vnet.ibm.com
Subject: [PATCH 15/17] tools/kvm_stat: add interactive command 'c'
Date: Mon, 20 Feb 2017 16:42:09 +0100	[thread overview]
Message-ID: <20170220154211.11882-16-raspl@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170220154211.11882-1-raspl@linux.vnet.ibm.com>

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>
---
 tools/kvm/kvm_stat/kvm_stat     | 16 ++++++++++++----
 tools/kvm/kvm_stat/kvm_stat.txt |  2 ++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat
index ec77aac..e0f28e1 100755
--- a/tools/kvm/kvm_stat/kvm_stat
+++ b/tools/kvm/kvm_stat/kvm_stat
@@ -860,6 +860,7 @@ DELAY_INITIAL = 0.25
 DELAY_REGULAR = 3.
 MAX_GUEST_NAME_LEN = 48
 MAX_REGEX_LEN = 44
+DEFAULT_REGEX = r'^[^\(]*$'
 
 
 class Tui(object):
@@ -906,9 +907,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):
@@ -930,7 +931,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] + '...'
@@ -990,7 +992,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:
@@ -1100,6 +1102,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
@@ -1176,6 +1183,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 35587c3..c3ab6a2 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
-- 
2.8.4

  parent reply	other threads:[~2017-02-20 15:42 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-20 15:41 [PATCH 00/17] tools/kvm_stat: Misc Patches Stefan Raspl
2017-02-20 15:41 ` [PATCH 01/17] tools/kvm_stat: hide cursor Stefan Raspl
2017-02-20 15:41 ` [PATCH 02/17] tools/kvm_stat: catch curses exceptions only Stefan Raspl
2017-02-20 15:41 ` [PATCH 03/17] tools/kvm_stat: handle SIGINT in log and batch modes Stefan Raspl
2017-02-20 15:41 ` [PATCH 04/17] tools/kvm_stat: fix misc glitches Stefan Raspl
2017-03-09 16:51   ` Paolo Bonzini
2017-03-10  6:04     ` Stefan Raspl
2017-03-10  8:14       ` Paolo Bonzini
2017-03-10  8:33         ` Stefan Raspl
2017-03-10  8:38           ` Paolo Bonzini
2017-03-10  9:42             ` Stefan Raspl
2017-03-10 10:05               ` Paolo Bonzini
2017-02-20 15:41 ` [PATCH 05/17] tools/kvm_stat: fix trace setup glitch on field updates in TracepointProvider Stefan Raspl
2017-02-20 15:42 ` [PATCH 06/17] tools/kvm_stat: full PEP8 compliance Stefan Raspl
2017-02-20 15:42 ` [PATCH 07/17] tools/kvm_stat: reduce perceived idle time on filter updates Stefan Raspl
2017-03-09 16:54   ` Paolo Bonzini
2017-02-20 15:42 ` [PATCH 08/17] tools/kvm_stat: document list of interactive commands Stefan Raspl
2017-02-20 15:42 ` [PATCH 09/17] tools/kvm_stat: display guest name when using pid filter Stefan Raspl
2017-03-09 16:54   ` Paolo Bonzini
2017-03-10  6:08     ` Stefan Raspl
2017-02-20 15:42 ` [PATCH 10/17] tools/kvm_stat: remove pid filter on empty input Stefan Raspl
2017-02-20 15:42 ` [PATCH 11/17] tools/kvm_stat: print error messages on faulty pid filter input Stefan Raspl
2017-02-20 15:42 ` [PATCH 12/17] tools/kvm_stat: display regex when set to non-default Stefan Raspl
2017-02-20 15:42 ` [PATCH 13/17] tools/kvm_stat: remove regex filter on empty input Stefan Raspl
2017-02-20 15:42 ` [PATCH 14/17] tools/kvm_stat: add option '--guest' Stefan Raspl
2017-03-10 11:52   ` Janosch Frank
2017-02-20 15:42 ` Stefan Raspl [this message]
2017-02-20 15:42 ` [PATCH 16/17] tools/kvm_stat: add interactive command 'r' Stefan Raspl
2017-03-10 11:37   ` Janosch Frank
2017-03-10 12:32     ` Stefan Raspl
2017-02-20 15:42 ` [PATCH 17/17] tools/kvm_stat: add '%Total' column Stefan Raspl
2017-03-06  8:08 ` [PATCH 00/17] tools/kvm_stat: Misc Patches Stefan Raspl
2017-03-06 16:05   ` Paolo Bonzini
2017-03-09 17:00 ` Paolo Bonzini
2017-03-10  6:13   ` Stefan Raspl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170220154211.11882-16-raspl@linux.vnet.ibm.com \
    --to=raspl@linux.vnet.ibm.com \
    --cc=frankja@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.