summaryrefslogtreecommitdiffstats
path: root/tools/kvm/kvm_stat
diff options
context:
space:
mode:
authorMarc Hartmayer <mhartmay@linux.vnet.ibm.com>2018-01-09 13:27:01 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2018-02-24 01:43:38 +0100
commitfaa312a543283c717342cd332b5b9247bd305dce (patch)
tree412d62ec2b93c59a71bfb2c776d6930a582c3705 /tools/kvm/kvm_stat
parent95e057e25892eaa48cad1e2d637b80d0f1a4fac5 (diff)
downloadlinux-stable-faa312a543283c717342cd332b5b9247bd305dce.tar.gz
linux-stable-faa312a543283c717342cd332b5b9247bd305dce.tar.bz2
linux-stable-faa312a543283c717342cd332b5b9247bd305dce.zip
tools/kvm_stat: simplify the sortkey function
The 'sortkey' function references a value in its enclosing scope (closure). This is not common practice for a sort key function so let's replace it. Additionally, the function 'sorted' has already a parameter for reversing the result therefore the inversion of the values is unneeded. The check for stats[x][1] is also superfluous as it's ensured that this value is initialized with 0. Signed-off-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com> Tested-by: Stefan Raspl <raspl@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tools/kvm/kvm_stat')
-rwxr-xr-xtools/kvm/kvm_stat/kvm_stat23
1 files changed, 8 insertions, 15 deletions
diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat
index a5684d0968b4..d630f5f3e091 100755
--- a/tools/kvm/kvm_stat/kvm_stat
+++ b/tools/kvm/kvm_stat/kvm_stat
@@ -1080,30 +1080,23 @@ class Tui(object):
self.screen.move(row, 0)
self.screen.clrtobot()
stats = self.stats.get(self._display_guests)
-
- def sortCurAvg(x):
- # sort by current events if available
- if stats[x][1]:
- return (-stats[x][1], -stats[x][0])
- else:
- return (0, -stats[x][0])
-
- def sortTotal(x):
- # sort by totals
- return (0, -stats[x][0])
total = 0.
for key in stats.keys():
if key.find('(') is -1:
total += stats[key][0]
if self._sorting == SORT_DEFAULT:
- sortkey = sortCurAvg
+ def sortkey((_k, v)):
+ # sort by (delta value, overall value)
+ return (v[1], v[0])
else:
- sortkey = sortTotal
+ def sortkey((_k, v)):
+ # sort by overall value
+ return v[0]
+
tavg = 0
- for key in sorted(stats.keys(), key=sortkey):
+ for key, values in sorted(stats.items(), key=sortkey, reverse=True):
if row >= self.screen.getmaxyx()[0] - 1:
break
- values = stats[key]
if not values[0] and not values[1]:
break
if values[0] is not None: