Skip to content

Commit

Permalink
tools/kvm_stat: simplify the sortkey function
Browse files Browse the repository at this point in the history
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 <[email protected]>
Tested-by: Stefan Raspl <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
  • Loading branch information
Marc Hartmayer authored and bonzini committed Feb 24, 2018
1 parent 95e057e commit faa312a
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions tools/kvm/kvm_stat/kvm_stat
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit faa312a

Please sign in to comment.