Skip to content

Commit

Permalink
tools/kvm_stat: add new interactive command 'h'
Browse files Browse the repository at this point in the history
Display interactive commands reference on 'h'.
While at it, sort interactive commands alphabetically in various places.

Signed-off-by: Stefan Raspl <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
  • Loading branch information
Stefan Raspl authored and bonzini committed Jun 8, 2017
1 parent 38e89c3 commit 1fdea7b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 5 deletions.
37 changes: 32 additions & 5 deletions tools/kvm/kvm_stat/kvm_stat
Original file line number Diff line number Diff line change
Expand Up @@ -1018,6 +1018,30 @@ class Tui(object):
self.screen.addstr(4, 1, 'No matching events reported yet')
self.screen.refresh()

def show_help_interactive(self):
"""Display help with list of interactive commands"""
msg = (' c clear filter',
' f filter by regular expression',
' g filter by guest name',
' h display interactive commands reference',
' p filter by PID',
' q quit',
' r reset stats',
' x toggle reporting of stats for individual child trace'
' events',
'Any other key refreshes statistics immediately')
curses.cbreak()
self.screen.erase()
self.screen.addstr(0, 0, "Interactive commands reference",
curses.A_BOLD)
self.screen.addstr(2, 0, "Press any key to exit", curses.A_STANDOUT)
row = 4
for line in msg:
self.screen.addstr(row, 0, line)
row += 1
self.screen.getkey()
self.refresh_header()

def show_filter_selection(self):
"""Draws filter selection mask.
Expand Down Expand Up @@ -1142,10 +1166,6 @@ class Tui(object):
sleeptime = DELAY_REGULAR
try:
char = self.screen.getkey()
if char == 'x':
self.update_drilldown()
if char == 'q':
break
if char == 'c':
self.stats.fields_filter = DEFAULT_REGEX
self.refresh_header(0)
Expand All @@ -1160,13 +1180,19 @@ class Tui(object):
self.show_vm_selection_by_guest_name()
curses.curs_set(0)
sleeptime = DELAY_INITIAL
if char == 'h':
self.show_help_interactive()
if char == 'p':
curses.curs_set(1)
self.show_vm_selection_by_pid()
curses.curs_set(0)
sleeptime = DELAY_INITIAL
if char == 'q':
break
if char == 'r':
self.stats.reset()
if char == 'x':
self.update_drilldown()
except KeyboardInterrupt:
break
except curses.error:
Expand Down Expand Up @@ -1237,10 +1263,11 @@ Interactive Commands:
c clear filter
f filter by regular expression
g filter by guest name
h display interactive commands reference
p filter by PID
q quit
x toggle reporting of stats for individual child trace events
r reset stats
x toggle reporting of stats for individual child trace events
Press any other key to refresh statistics immediately.
"""

Expand Down
2 changes: 2 additions & 0 deletions tools/kvm/kvm_stat/kvm_stat.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ INTERACTIVE COMMANDS

*g*:: filter by guest name

*h*:: display interactive commands reference

*p*:: filter by PID

*q*:: quit
Expand Down

0 comments on commit 1fdea7b

Please sign in to comment.