Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2737)

Unified Diff: build/android/pylib/utils/time_profile.py

Issue 1338813003: GN: Side-load dex files as well as native code in incremental installs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix pylint warnings Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()

Powered by Google App Engine
This is Rietveld 408576698