mirror of https://gitee.com/openkylin/linux.git
tools/kvm_stat: fix crash when filtering out all non-child trace events
When we apply a filter that will only leave child trace events, we receive a ZeroDivisionError when calculating the percentages. In that case, provide percentages based on child events only. To reproduce, run 'kvm_stat -f .*[\(].*'. Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
369d5a85bb
commit
3df33a0f34
|
@ -1084,9 +1084,15 @@ class Tui(object):
|
||||||
self.screen.clrtobot()
|
self.screen.clrtobot()
|
||||||
stats = self.stats.get(self._display_guests)
|
stats = self.stats.get(self._display_guests)
|
||||||
total = 0.
|
total = 0.
|
||||||
|
ctotal = 0.
|
||||||
for key, values in stats.items():
|
for key, values in stats.items():
|
||||||
if key.find('(') == -1:
|
if key.find('(') == -1:
|
||||||
total += values.value
|
total += values.value
|
||||||
|
else:
|
||||||
|
ctotal += values.value
|
||||||
|
if total == 0.:
|
||||||
|
# we don't have any fields, or all non-child events are filtered
|
||||||
|
total = ctotal
|
||||||
|
|
||||||
if self._sorting == SORT_DEFAULT:
|
if self._sorting == SORT_DEFAULT:
|
||||||
def sortkey((_k, v)):
|
def sortkey((_k, v)):
|
||||||
|
|
Loading…
Reference in New Issue