[bitbake-devel] [PATCH] knotty: Pretty print task elapsed time

Jacob Kroon jacob.kroon at gmail.com
Fri Apr 26 21:37:27 UTC 2019


A task's runtime is currently printed in seconds. Change it to
include minutes and hours for easier reading.

Signed-off-by: Jacob Kroon <jacob.kroon at gmail.com>
---
 lib/bb/ui/knotty.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py
index fa88e6cc..f362c23a 100644
--- a/lib/bb/ui/knotty.py
+++ b/lib/bb/ui/knotty.py
@@ -222,6 +222,18 @@ class TerminalFilter(object):
             sys.stdout.flush()
         self.footer_present = False
 
+    def elapsed(self, sec):
+        hrs = int(sec / 3600.0)
+        sec -= hrs * 3600
+        min = int(sec / 60.0)
+        sec -= min * 60
+        if hrs > 0:
+            return "%dh%dm%ds" % (hrs, min, sec)
+        elif min > 0:
+            return "%dm%ds" % (min, sec)
+        else:
+            return "%ds" % (sec)
+
     def updateFooter(self):
         if not self.cuu:
             return
@@ -258,7 +270,7 @@ class TerminalFilter(object):
             else:
                 start_time = activetasks[t].get("starttime", None)
                 if start_time:
-                    tasks.append("%s - %ds (pid %s)" % (activetasks[t]["title"], currenttime - start_time, t))
+                    tasks.append("%s - %s (pid %s)" % (activetasks[t]["title"], self.elapsed(currenttime - start_time), t))
                 else:
                     tasks.append("%s (pid %s)" % (activetasks[t]["title"], t))
 
-- 
2.20.1



More information about the bitbake-devel mailing list