android: Track and log total time spent symbolizing in tests.
Bug: 774267
Change-Id: If8e4620c781f38f0b3019e201f2e48146047ae06
Reviewed-on: https://chromium-review.googlesource.com/835787
Reviewed-by: Zhiling Huang <[email protected]>
Reviewed-by: John Budorick <[email protected]>
Commit-Queue: Benjamin Pastene <[email protected]>
Cr-Commit-Position: refs/heads/master@{#526820}
diff --git a/build/android/pylib/symbols/stack_symbolizer.py b/build/android/pylib/symbols/stack_symbolizer.py
index c1c9afb..05e40657 100644
--- a/build/android/pylib/symbols/stack_symbolizer.py
+++ b/build/android/pylib/symbols/stack_symbolizer.py
@@ -7,6 +7,7 @@
import re
import shutil
import tempfile
+import time
import zipfile
from devil.utils import cmd_helper
@@ -38,6 +39,7 @@
self._libs_dir = None
self._apk_libs = []
self._has_unzipped = False
+ self._time_spent_symbolizing = 0
def __del__(self):
@@ -52,6 +54,9 @@
if self._libs_dir:
shutil.rmtree(self._libs_dir)
self._libs_dir = None
+ if self._time_spent_symbolizing > 0:
+ logging.info(
+ 'Total time spent symbolizing: %.2fs', self._time_spent_symbolizing)
def UnzipAPKIfNecessary(self):
@@ -97,7 +102,11 @@
with tempfile.NamedTemporaryFile() as f:
f.write('\n'.join(data_to_symbolize))
f.flush()
- _, output = cmd_helper.GetCmdStatusAndOutput(cmd + [f.name], env=env)
+ start = time.time()
+ try:
+ _, output = cmd_helper.GetCmdStatusAndOutput(cmd + [f.name], env=env)
+ finally:
+ self._time_spent_symbolizing += time.time() - start
for line in output.splitlines():
if not include_stack and 'Stack Data:' in line:
break