summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2014-10-31 19:15:48 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-11-06 16:45:19 +0000
commit6e055bbc2e6df6e769f6b584d2c6d0da4a567f2a (patch)
tree21e681c90152ca4edde8fd337d25c4ab898d4768 /meta/classes
parent6839a39912d483c6a403bd52e5f889547f1f4807 (diff)
downloadpoky-6e055bbc2e6df6e769f6b584d2c6d0da4a567f2a.tar.gz
toaster.bbclass: read elapsed time from the stats file
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>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/toaster.bbclass36
1 files changed, 23 insertions, 13 deletions
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index 95499a5cdd..1525317d27 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -187,8 +187,10 @@ python toaster_collect_task_stats() {
187 def _read_stats(filename): 187 def _read_stats(filename):
188 cpu_usage = 0 188 cpu_usage = 0
189 disk_io = 0 189 disk_io = 0
190 startio = '' 190 startio = '0'
191 endio = '' 191 endio = '0'
192 started = '0'
193 ended = '0'
192 pn = '' 194 pn = ''
193 taskname = '' 195 taskname = ''
194 statinfo = {} 196 statinfo = {}
@@ -198,20 +200,28 @@ python toaster_collect_task_stats() {
198 k,v = line.strip().split(": ", 1) 200 k,v = line.strip().split(": ", 1)
199 statinfo[k] = v 201 statinfo[k] = v
200 202
201 try: 203 if "CPU usage" in statinfo:
202 cpu_usage = statinfo["CPU usage"] 204 cpu_usage = str(statinfo["CPU usage"]).strip('% \n\r')
203 endio = statinfo["EndTimeIO"]
204 startio = statinfo["StartTimeIO"]
205 except KeyError:
206 pass # we may have incomplete data here
207 205
208 if startio and endio: 206 if "EndTimeIO" in statinfo:
209 disk_io = int(endio.strip('\n ')) - int(startio.strip('\n ')) 207 endio = str(statinfo["EndTimeIO"]).strip('% \n\r')
210 208
211 if cpu_usage: 209 if "StartTimeIO" in statinfo:
212 cpu_usage = float(cpu_usage.strip('% \n')) 210 startio = str(statinfo["StartTimeIO"]).strip('% \n\r')
213 211
214 return {'cpu_usage': cpu_usage, 'disk_io': disk_io} 212 if "Started" in statinfo:
213 started = str(statinfo["Started"]).strip('% \n\r')
214
215 if "Ended" in statinfo:
216 ended = str(statinfo["Ended"]).strip('% \n\r')
217
218 disk_io = int(endio) - int(startio)
219
220 elapsed_time = float(ended) - float(started)
221
222 cpu_usage = float(cpu_usage)
223
224 return {'cpu_usage': cpu_usage, 'disk_io': disk_io, 'elapsed_time': elapsed_time}
215 225
216 226
217 if isinstance(e, (bb.build.TaskSucceeded, bb.build.TaskFailed)): 227 if isinstance(e, (bb.build.TaskSucceeded, bb.build.TaskFailed)):