Blame SOURCES/kvm-tools-kvm_stat-fix-event-counts-display-for-interrup.patch

4a2fec
From 7bc419ee18fb59acbd0bf2fc5d31b25b32bc28ea Mon Sep 17 00:00:00 2001
4a2fec
From: David Hildenbrand <david@redhat.com>
4a2fec
Date: Tue, 17 Oct 2017 19:15:45 +0200
4a2fec
Subject: [PATCH 40/69] tools/kvm_stat: fix event counts display for
4a2fec
 interrupted intervals
4a2fec
4a2fec
RH-Author: David Hildenbrand <david@redhat.com>
4a2fec
Message-id: <20171017191605.2378-20-david@redhat.com>
4a2fec
Patchwork-id: 77330
4a2fec
O-Subject: [RHEL-7.5 qemu-kvm-rhev PATCH 19/39] tools/kvm_stat: fix event counts display for interrupted intervals
4a2fec
Bugzilla: 1497137
4a2fec
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
4a2fec
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
4a2fec
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
4a2fec
RH-Acked-by: Thomas Huth <thuth@redhat.com>
4a2fec
4a2fec
Upstream-status: linux.git 124c2fc9fdf5fb1d9cea4707d7e5471e317ba3bf
4a2fec
4a2fec
commit 124c2fc9fdf5fb1d9cea4707d7e5471e317ba3bf
4a2fec
Author: Stefan Raspl <raspl@linux.vnet.ibm.com>
4a2fec
Date:   Wed Jun 7 21:08:26 2017 +0200
4a2fec
4a2fec
    tools/kvm_stat: fix event counts display for interrupted intervals
4a2fec
4a2fec
    When an update interval is interrupted via key press (e.g. space), the
4a2fec
    'Current' column value is calculated using the full interval length
4a2fec
    instead of the elapsed time, which leads to lower than actual numbers.
4a2fec
    Furthermore, the value should be rounded, not truncated.
4a2fec
    This is fixed by using the actual elapsed time for the calculation.
4a2fec
4a2fec
    Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
4a2fec
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
4a2fec
4a2fec
Signed-off-by: David Hildenbrand <david@redhat.com>
4a2fec
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
4a2fec
---
4a2fec
 scripts/kvm/kvm_stat | 7 +++++--
4a2fec
 1 file changed, 5 insertions(+), 2 deletions(-)
4a2fec
4a2fec
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
4a2fec
index 904eb62..b571584 100755
4a2fec
--- a/scripts/kvm/kvm_stat
4a2fec
+++ b/scripts/kvm/kvm_stat
4a2fec
@@ -1009,7 +1009,8 @@ class Tui(object):
4a2fec
             self.screen.addstr(row, col, '%7.1f' % (values[0] * 100 / total,))
4a2fec
             col += 7
4a2fec
             if values[1] is not None:
4a2fec
-                self.screen.addstr(row, col, '%8d' % (values[1] / sleeptime,))
4a2fec
+                self.screen.addstr(row, col, '%8d' %
4a2fec
+                                   round(values[1] / sleeptime))
4a2fec
             row += 1
4a2fec
         self.screen.refresh()
4a2fec
 
4a2fec
@@ -1130,9 +1131,11 @@ class Tui(object):
4a2fec
         """Refreshes the screen and processes user input."""
4a2fec
         sleeptime = DELAY_INITIAL
4a2fec
         self.refresh_header()
4a2fec
+        start = 0.0  # result based on init value never appears on screen
4a2fec
         while True:
4a2fec
-            self.refresh_body(sleeptime)
4a2fec
+            self.refresh_body(time.time() - start)
4a2fec
             curses.halfdelay(int(sleeptime * 10))
4a2fec
+            start = time.time()
4a2fec
             sleeptime = DELAY_REGULAR
4a2fec
             try:
4a2fec
                 char = self.screen.getkey()
4a2fec
-- 
4a2fec
1.8.3.1
4a2fec