| Index: build/android/pylib/utils/time_profile.py
|
| diff --git a/build/android/pylib/utils/time_profile.py b/build/android/pylib/utils/time_profile.py
|
| index 45da7ff3af7df607d2938cde9fa8ee2d9fa24e2c..094799c4f2a133fc6d9bbe60e122a4df15823f23 100644
|
| --- a/build/android/pylib/utils/time_profile.py
|
| +++ b/build/android/pylib/utils/time_profile.py
|
| @@ -9,18 +9,37 @@ import time
|
| class TimeProfile(object):
|
| """Class for simple profiling of action, with logging of cost."""
|
|
|
| - def __init__(self, description):
|
| + def __init__(self, description='operation'):
|
| self._starttime = None
|
| + self._endtime = None
|
| self._description = description
|
| self.Start()
|
|
|
| def Start(self):
|
| self._starttime = time.time()
|
| + self._endtime = None
|
|
|
| - def Stop(self):
|
| - """Stop profiling and dump a log."""
|
| - if self._starttime:
|
| - stoptime = time.time()
|
| - logging.info('%fsec to perform %s',
|
| - stoptime - self._starttime, self._description)
|
| - self._starttime = None
|
| + def GetDelta(self):
|
| + """Returns the rounded delta.
|
| +
|
| + Also stops the timer if Stop() has not already been called.
|
| + """
|
| + if self._endtime is None:
|
| + self.Stop(log=False)
|
| + delta = self._endtime - self._starttime
|
| + delta = round(delta, 2) if delta < 10 else round(delta, 1)
|
| + return delta
|
| +
|
| + def LogResult(self):
|
| + """Logs the result."""
|
| + logging.info('%s seconds to perform %s', self.GetDelta(), self._description)
|
| +
|
| + def Stop(self, log=True):
|
| + """Stop profiling.
|
| +
|
| + Args:
|
| + log: Log the delta (defaults to true).
|
| + """
|
| + self._endtime = time.time()
|
| + if log:
|
| + self.LogResult()
|
|
|