| Index: tools/telemetry/telemetry/core/platform/profiler/android_traceview_profiler.py
|
| diff --git a/tools/telemetry/telemetry/core/platform/profiler/android_traceview_profiler.py b/tools/telemetry/telemetry/core/platform/profiler/android_traceview_profiler.py
|
| index 5ed86b6e03cda95ebf57747691671e1e1ec6de15..e10d9c1692196628cf9f842c29aa6c2493d25066 100644
|
| --- a/tools/telemetry/telemetry/core/platform/profiler/android_traceview_profiler.py
|
| +++ b/tools/telemetry/telemetry/core/platform/profiler/android_traceview_profiler.py
|
| @@ -2,6 +2,7 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +import logging
|
| import os
|
|
|
| from telemetry.core.backends.chrome import android_browser_finder
|
| @@ -24,21 +25,21 @@
|
| super(AndroidTraceviewProfiler, self).__init__(
|
| browser_backend, platform_backend, output_path, state)
|
|
|
| - if self._browser_backend.device.FileExists(self._DEFAULT_DEVICE_DIR):
|
| - self._browser_backend.device.RunShellCommand(
|
| + if self._browser_backend.adb.device().FileExists(self._DEFAULT_DEVICE_DIR):
|
| + self._browser_backend.adb.RunShellCommand(
|
| 'rm ' + os.path.join(self._DEFAULT_DEVICE_DIR, '*'))
|
| else:
|
| - self._browser_backend.device.RunShellCommand(
|
| + self._browser_backend.adb.RunShellCommand(
|
| 'mkdir -p ' + self._DEFAULT_DEVICE_DIR)
|
| - self._browser_backend.device.RunShellCommand(
|
| + self._browser_backend.adb.RunShellCommand(
|
| 'chmod 777 ' + self._DEFAULT_DEVICE_DIR)
|
|
|
| self._trace_files = []
|
| for pid in self._GetProcessOutputFileMap().iterkeys():
|
| device_dump_file = '%s/%s.trace' % (self._DEFAULT_DEVICE_DIR, pid)
|
| self._trace_files.append((pid, device_dump_file))
|
| - self._browser_backend.device.RunShellCommand(
|
| - 'am profile %s start %s' % (pid, device_dump_file))
|
| + self._browser_backend.adb.RunShellCommand('am profile %s start %s' %
|
| + (pid, device_dump_file))
|
|
|
|
|
| @classmethod
|
| @@ -54,13 +55,17 @@
|
| def CollectProfile(self):
|
| output_files = []
|
| for pid, trace_file in self._trace_files:
|
| - self._browser_backend.device.RunShellCommand('am profile %s stop' % pid)
|
| + self._browser_backend.adb.RunShellCommand('am profile %s stop' % pid)
|
| # pylint: disable=cell-var-from-loop
|
| util.WaitFor(lambda: self._FileSize(trace_file) > 0, timeout=10)
|
| output_files.append(trace_file)
|
| - self._browser_backend.device.PullFile(
|
| - self._DEFAULT_DEVICE_DIR, self._output_path)
|
| - self._browser_backend.device.RunShellCommand(
|
| + try:
|
| + self._browser_backend.adb.device().PullFile(
|
| + self._DEFAULT_DEVICE_DIR, self._output_path)
|
| + except:
|
| + logging.exception('New exception caused by DeviceUtils conversion')
|
| + raise
|
| + self._browser_backend.adb.RunShellCommand(
|
| 'rm ' + os.path.join(self._DEFAULT_DEVICE_DIR, '*'))
|
| print 'Traceview profiles available in ', self._output_path
|
| print 'Use third_party/android_tools/sdk/tools/monitor '
|
| @@ -69,6 +74,6 @@
|
|
|
| def _FileSize(self, file_name):
|
| try:
|
| - return self._browser_backend.device.Stat(file_name).st_size
|
| + return self._browser_backend.adb.device().Stat(file_name).st_size
|
| except device_errors.CommandFailedError:
|
| return 0
|
|
|