[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 33/34] scripts/kvm/kvm_stat: Add interactive filt
From: |
Janosch Frank |
Subject: |
[Qemu-devel] [PATCH v2 33/34] scripts/kvm/kvm_stat: Add interactive filtering |
Date: |
Mon, 11 Jan 2016 16:18:03 +0100 |
Interactively changing the filter is much more useful than the
drilldown, because it is more versatile.
With this patch, the filter can be changed by pressing 'f' in the text
ui and entering a new filter regex.
Signed-off-by: Janosch Frank <address@hidden>
---
scripts/kvm/kvm_stat | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
index 9ed3ccf..f64d4e8 100755
--- a/scripts/kvm/kvm_stat
+++ b/scripts/kvm/kvm_stat
@@ -632,6 +632,28 @@ class Tui(object):
row += 1
self.screen.refresh()
+ def show_filter_selection(self):
+ while True:
+ self.screen.erase()
+ self.screen.addstr(0, 0,
+ "Show statistics for events matching a regex.",
+ curses.A_BOLD)
+ self.screen.addstr(2, 0,
+ "Current regex: {0}"
+ .format(self.stats.fields_filter))
+ self.screen.addstr(3, 0, "New regex: ")
+ curses.echo()
+ regex = self.screen.getstr()
+ curses.noecho()
+ if len(regex) == 0:
+ return
+ try:
+ re.compile(regex)
+ self.stats.fields_filter = regex
+ return
+ except re.error:
+ continue
+
def show_stats(self):
sleeptime = 0.25
while True:
@@ -645,6 +667,8 @@ class Tui(object):
self.update_drilldown()
if char == 'q':
break
+ if char == 'f':
+ self.show_filter_selection()
except KeyboardInterrupt:
break
except curses.error:
--
2.3.0
- [Qemu-devel] [PATCH v2 05/34] scripts/kvm/kvm_stat: Mark globals in functions, (continued)
- [Qemu-devel] [PATCH v2 05/34] scripts/kvm/kvm_stat: Mark globals in functions, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 14/34] scripts/kvm/kvm_stat: Set sensible no. files rlimit, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 24/34] scripts/kvm/kvm_stat: Cleanup of Event class, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 20/34] scripts/kvm/kvm_stat: Cleanup cpu list retrieval, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 34/34] scripts/kvm/kvm_stat: Add optparse description, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 21/34] scripts/kvm/kvm_stat: Encapsulate filters variable, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 27/34] scripts/kvm/kvm_stat: Make tui function a class, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 28/34] scripts/kvm/kvm_stat: Fix output formatting, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 32/34] scripts/kvm/kvm_stat: Fixup filtering, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 26/34] scripts/kvm/kvm_stat: Remove unneeded X86_EXIT_REASONS, Janosch Frank, 2016/01/11
- [Qemu-devel] [PATCH v2 33/34] scripts/kvm/kvm_stat: Add interactive filtering,
Janosch Frank <=
- [Qemu-devel] [PATCH v2 09/34] scripts/kvm/kvm_stat: Introduce main function, Janosch Frank, 2016/01/11
- Re: [Qemu-devel] [PATCH v2 00/34] kvm_stat: Cleanup and fixup, Paolo Bonzini, 2016/01/20