aboutsummaryrefslogtreecommitdiffstats
path: root/tools/kvm/kvm_stat/kvm_stat
diff options
context:
space:
mode:
authorStefan Raspl <stefan.raspl@de.ibm.com>2018-08-24 14:04:00 +0200
committerRadim Krčmář <rkrcmar@redhat.com>2018-08-30 17:15:12 +0200
commit404517e40867aef60554ef497d5cf8d089a5b9cf (patch)
treebc7e0da7042253da283236582063f042303099ca /tools/kvm/kvm_stat/kvm_stat
parenttools/kvm_stat: handle guest removals more gracefully (diff)
downloadlinux-dev-404517e40867aef60554ef497d5cf8d089a5b9cf.tar.xz
linux-dev-404517e40867aef60554ef497d5cf8d089a5b9cf.zip
tools/kvm_stat: indicate dead guests as such
For destroyed guests, kvm_stat essentially freezes with the last data displayed. This is acceptable for users, in case they want to inspect the final data. But it looks a bit irritating. Therefore, detect this situation and display a respective indicator in the header. Signed-off-by: Stefan Raspl <raspl@linux.ibm.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Diffstat (limited to '')
-rwxr-xr-xtools/kvm/kvm_stat/kvm_stat12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat
index bd620579eb6f..5c2422b0f2f8 100755
--- a/tools/kvm/kvm_stat/kvm_stat
+++ b/tools/kvm/kvm_stat/kvm_stat
@@ -1108,10 +1108,10 @@ class Tui(object):
if len(gname) > MAX_GUEST_NAME_LEN
else gname))
if pid > 0:
- self.screen.addstr(0, 0, 'kvm statistics - pid {0} {1}'
- .format(pid, gname), curses.A_BOLD)
+ self._headline = 'kvm statistics - pid {0} {1}'.format(pid, gname)
else:
- self.screen.addstr(0, 0, 'kvm statistics - summary', curses.A_BOLD)
+ self._headline = 'kvm statistics - summary'
+ self.screen.addstr(0, 0, self._headline, curses.A_BOLD)
if self.stats.fields_filter:
regex = self.stats.fields_filter
if len(regex) > MAX_REGEX_LEN:
@@ -1170,6 +1170,7 @@ class Tui(object):
return sorted_items
if not self._is_running_guest(self.stats.pid_filter):
+ self._display_guest_dead()
# leave final data on screen
return
row = 3
@@ -1228,6 +1229,11 @@ class Tui(object):
('Total', total, tavg), curses.A_BOLD)
self.screen.refresh()
+ def _display_guest_dead(self):
+ marker = ' Guest is DEAD '
+ y = min(len(self._headline), 80 - len(marker))
+ self.screen.addstr(0, y, marker, curses.A_BLINK | curses.A_STANDOUT)
+
def _show_msg(self, text):
"""Display message centered text and exit on key press"""
hint = 'Press any key to continue'