]> code.ossystems Code Review - openembedded-core.git/commitdiff
toaster.bbclass: read elapsed time from the stats file
authorAlexandru DAMIAN <alexandru.damian@intel.com>
Fri, 31 Oct 2014 19:15:48 +0000 (19:15 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 31 Dec 2014 10:17:14 +0000 (10:17 +0000)
We read the elapsed time fromt the build stats file, instead
of computing it independently.

[YOCTO #6833]
[YOCTO #6685]

(From OE-Core rev: 4f5a4ec0cdaf078463f04be4a6683816e9b78d5f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/toaster.bbclass

index 95499a5cdd22966f75363895be596fbfc63a11e6..1525317d272b42343264d0dc0ea9cd54c7aa137d 100644 (file)
@@ -187,8 +187,10 @@ python toaster_collect_task_stats() {
     def _read_stats(filename):
         cpu_usage = 0
         disk_io = 0
-        startio = ''
-        endio = ''
+        startio = '0'
+        endio = '0'
+        started = '0'
+        ended = '0'
         pn = ''
         taskname = ''
         statinfo = {}
@@ -198,20 +200,28 @@ python toaster_collect_task_stats() {
                 k,v = line.strip().split(": ", 1)
                 statinfo[k] = v
 
-        try:
-            cpu_usage = statinfo["CPU usage"]
-            endio = statinfo["EndTimeIO"]
-            startio = statinfo["StartTimeIO"]
-        except KeyError:
-            pass    # we may have incomplete data here
+        if "CPU usage" in statinfo:
+            cpu_usage = str(statinfo["CPU usage"]).strip('% \n\r')
 
-        if startio and endio:
-            disk_io = int(endio.strip('\n ')) - int(startio.strip('\n '))
+        if "EndTimeIO" in statinfo:
+            endio = str(statinfo["EndTimeIO"]).strip('% \n\r')
 
-        if cpu_usage:
-            cpu_usage = float(cpu_usage.strip('% \n'))
+        if "StartTimeIO" in statinfo:
+            startio = str(statinfo["StartTimeIO"]).strip('% \n\r')
 
-        return {'cpu_usage': cpu_usage, 'disk_io': disk_io}
+        if "Started" in statinfo:
+            started = str(statinfo["Started"]).strip('% \n\r')
+
+        if "Ended" in statinfo:
+            ended = str(statinfo["Ended"]).strip('% \n\r')
+
+        disk_io = int(endio) - int(startio)
+
+        elapsed_time = float(ended) - float(started)
+
+        cpu_usage = float(cpu_usage)
+
+        return {'cpu_usage': cpu_usage, 'disk_io': disk_io, 'elapsed_time': elapsed_time}
 
 
     if isinstance(e, (bb.build.TaskSucceeded, bb.build.TaskFailed)):