Merge branch '14939-crunchstat-summary-python3-fixup'
authorTom Morris <tfmorris@veritasgenetics.com>
Wed, 24 Apr 2019 16:19:12 +0000 (12:19 -0400)
committerTom Morris <tfmorris@veritasgenetics.com>
Wed, 24 Apr 2019 16:19:12 +0000 (12:19 -0400)
Fixes #14939

Arvados-DCO-1.1-Signed-off-by: Tom Morris <tfmorris@veritasgenetics.com>

build/run-tests.sh
tools/crunchstat-summary/crunchstat_summary/summarizer.py

index 8ff6326f37a4c869e3ed13e3321b179514ce003d..d8ae7c3c94df3cdf1c814e689b208a4b2dfcb1e3 100755 (executable)
@@ -975,6 +975,7 @@ pythonstuff=(
     services/fuse
     services/nodemanager
     tools/crunchstat-summary
+    tools/crunchstat-summary:py3
 )
 
 declare -a gostuff
index bf905a394606a4e9a1465979a575bf07e85e0657..6d567e68dc068f443cccc41435bde9ffaa9c32b8 100644 (file)
@@ -207,17 +207,18 @@ class Summarizer(object):
                     stats['user+sys'] = stats.get('user', 0) + stats.get('sys', 0)
                 if 'tx' in stats or 'rx' in stats:
                     stats['tx+rx'] = stats.get('tx', 0) + stats.get('rx', 0)
-                for stat, val in stats.items():
-                    if group == 'interval':
-                        if stat == 'seconds':
-                            this_interval_s = val
-                            continue
-                        elif not (this_interval_s > 0):
+                if group == 'interval':
+                    if 'seconds' in stats:
+                        this_interval_s = stats.get('seconds',0)
+                        del stats['seconds']
+                        if this_interval_s <= 0:
                             logger.error(
                                 "BUG? interval stat given with duration {!r}".
                                 format(this_interval_s))
-                            continue
-                        else:
+                    else:
+                        logger.error('BUG? interval stat missing duration')
+                for stat, val in stats.items():
+                    if group == 'interval' and this_interval_s:
                             stat = stat + '__rate'
                             val = val / this_interval_s
                             if stat in ['user+sys__rate', 'tx+rx__rate']: