Skip to content

Commit 1fdea7b

Browse files
Stefan Rasplbonzini
authored andcommitted
tools/kvm_stat: add new interactive command 'h'
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]>
1 parent 38e89c3 commit 1fdea7b

File tree

2 files changed

+34
-5
lines changed

2 files changed

+34
-5
lines changed

tools/kvm/kvm_stat/kvm_stat

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,6 +1018,30 @@ class Tui(object):
10181018
self.screen.addstr(4, 1, 'No matching events reported yet')
10191019
self.screen.refresh()
10201020

1021+
def show_help_interactive(self):
1022+
"""Display help with list of interactive commands"""
1023+
msg = (' c clear filter',
1024+
' f filter by regular expression',
1025+
' g filter by guest name',
1026+
' h display interactive commands reference',
1027+
' p filter by PID',
1028+
' q quit',
1029+
' r reset stats',
1030+
' x toggle reporting of stats for individual child trace'
1031+
' events',
1032+
'Any other key refreshes statistics immediately')
1033+
curses.cbreak()
1034+
self.screen.erase()
1035+
self.screen.addstr(0, 0, "Interactive commands reference",
1036+
curses.A_BOLD)
1037+
self.screen.addstr(2, 0, "Press any key to exit", curses.A_STANDOUT)
1038+
row = 4
1039+
for line in msg:
1040+
self.screen.addstr(row, 0, line)
1041+
row += 1
1042+
self.screen.getkey()
1043+
self.refresh_header()
1044+
10211045
def show_filter_selection(self):
10221046
"""Draws filter selection mask.
10231047
@@ -1142,10 +1166,6 @@ class Tui(object):
11421166
sleeptime = DELAY_REGULAR
11431167
try:
11441168
char = self.screen.getkey()
1145-
if char == 'x':
1146-
self.update_drilldown()
1147-
if char == 'q':
1148-
break
11491169
if char == 'c':
11501170
self.stats.fields_filter = DEFAULT_REGEX
11511171
self.refresh_header(0)
@@ -1160,13 +1180,19 @@ class Tui(object):
11601180
self.show_vm_selection_by_guest_name()
11611181
curses.curs_set(0)
11621182
sleeptime = DELAY_INITIAL
1183+
if char == 'h':
1184+
self.show_help_interactive()
11631185
if char == 'p':
11641186
curses.curs_set(1)
11651187
self.show_vm_selection_by_pid()
11661188
curses.curs_set(0)
11671189
sleeptime = DELAY_INITIAL
1190+
if char == 'q':
1191+
break
11681192
if char == 'r':
11691193
self.stats.reset()
1194+
if char == 'x':
1195+
self.update_drilldown()
11701196
except KeyboardInterrupt:
11711197
break
11721198
except curses.error:
@@ -1237,10 +1263,11 @@ Interactive Commands:
12371263
c clear filter
12381264
f filter by regular expression
12391265
g filter by guest name
1266+
h display interactive commands reference
12401267
p filter by PID
12411268
q quit
1242-
x toggle reporting of stats for individual child trace events
12431269
r reset stats
1270+
x toggle reporting of stats for individual child trace events
12441271
Press any other key to refresh statistics immediately.
12451272
"""
12461273

tools/kvm/kvm_stat/kvm_stat.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ INTERACTIVE COMMANDS
3535

3636
*g*:: filter by guest name
3737

38+
*h*:: display interactive commands reference
39+
3840
*p*:: filter by PID
3941

4042
*q*:: quit

0 commit comments

Comments
 (0)