diff options
-rw-r--r-- | lib/bb/build.py | 2 | ||||
-rw-r--r-- | lib/bb/ui/buildinfohelper.py | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/bb/build.py b/lib/bb/build.py index 52e41493c..5cb4c06a8 100644 --- a/lib/bb/build.py +++ b/lib/bb/build.py @@ -30,6 +30,7 @@ import sys import logging import shlex import glob +import time import bb import bb.msg import bb.process @@ -75,6 +76,7 @@ class TaskBase(event.Event): self.taskfile = d.getVar("FILE", True) self.taskname = self._task self.logfile = logfile + self.time = time.time() event.Event.__init__(self) self._message = "recipe %s: task %s: %s" % (d.getVar("PF", True), t, self.getDisplayName()) diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 15bc069b8..2084aab96 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -133,10 +133,10 @@ class ORMWrapper(object): elif outcome_task_setscene == Task.OUTCOME_FAILED: task_object.sstate_result = Task.SSTATE_FAILED - # mark down duration if we have a start time - if 'start_time' in task_information.keys(): - duration = datetime.datetime.now() - task_information['start_time'] - task_object.elapsed_time = duration.total_seconds() + # mark down duration if we have a start time and a current time + if 'start_time' in task_information.keys() and 'time' in vars(event): + duration = event.time - task_information['start_time'] + task_object.elapsed_time = duration task_object.save() return task_object @@ -717,6 +717,9 @@ class BuildInfoHelper(object): recipe = self.orm_wrapper.get_update_recipe_object(recipe_information, True) task_information = self._get_task_information(event,recipe) + if 'time' in vars(event) and isinstance(event, bb.build.TaskStarted): + self.internal_state['taskdata'][identifier]['start_time'] = event.time + task_information['start_time'] = self.internal_state['taskdata'][identifier]['start_time'] task_information['outcome'] = self.internal_state['taskdata'][identifier]['outcome'] |