build/android/screenshot.py was creating a DeviceUtils. Then grabbing
it's old_interface (i.e. an AndroidCommands) and calling screenshot on
that. That then called TakeScreenshot from
build/android/pylib/screenshot.py passing itself. But
build/android/pylib/screenshot.py expects a DeviceUtils, not an
AndroidCommands. So wrap the AndroidCommands back into a DeviceUtils
first.
build/android/screenshot.py could probably just call into
build/android/pylib/screenshot.py directly.
TBR=jbudorick
NOTRY=true
Review URL: https://codereview.chromium.org/234533003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@263157 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a quick and dirty fix for a problem that occurs to me when
trying to run instrumentation tests in a simulator.
For some reason 'pm path org.chromium.content_shell_apk.tests' outputs
a warning message in my environment that confuses the python scripts
and they end up calling md5sum for the root directory which is a bit
slow... The real fix would be to be able drop the stderr of the command
but it needs a lot of plumbing and probably there is not that much chance
that something like that will happen again for someone.
BUG=334439
Review URL: https://codereview.chromium.org/138143019
git-svn-id: http://src.chromium.org/svn/trunk/src/build@247742 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There's no need to print out a warning about falling back to the
checked-in adb binary every time telemetry is run. Also turn ADB_PATH
into a memoized function to remove side effects from importing
constants.py. This also ensures the right logging level is set before
the path is determined so the warning is still printed in debug mode.
BUG=329317
Review URL: https://codereview.chromium.org/117333008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@241854 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
> Make page_cycler.py fully measure memory for each page.
>
> Telemetry makes the distinction between metrics collected for each page and for
> each page set. The fine-grained memory metrics were collected only per page set
> (although there was some histogram data collected per page).
>
> This CL makes the memory metric module systematically report the whole data per
> page (and not only per page set) so that we can measure pages independently.
> The per page set memory metric collection is now a no-op.
>
> BUG=323494
>
> Review URL: https://codereview.chromium.org/91573003TBR=pliard@chromium.org
Review URL: https://codereview.chromium.org/111773002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@239791 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Telemetry makes the distinction between metrics collected for each page and for
each page set. The fine-grained memory metrics were collected only per page set
(although there was some histogram data collected per page).
This CL makes the memory metric module systematically report the whole data per
page (and not only per page set) so that we can measure pages independently.
The per page set memory metric collection is now a no-op.
BUG=323494
Review URL: https://codereview.chromium.org/91573003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@239784 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This speeds up PushIfNeeded() execution times on a same instance of
AndroidCommands for repetitive files. This can be achieved by mapping host file
paths to their mtime at push time as tonyg@ pointed out although this assumes
that the device doesn't modify the files.
This is needed to make PurgeUnpinnedAshmem() reasonably fast to execute in
Telemetry. This CL decreases by 40 secs the execution time of netsim.top_10
whem memory is measured for each page (and PurgeUnpinnedAshmem() is called
before each measurement).
BUG=323494,326929
R=bulach@chromium.org, craigdh@chromium.org, tonyg@chromium.org
Review URL: https://codereview.chromium.org/97133002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@239757 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a reland of crrev.com/62953024 which was reverted because
it broke other platforms.
Refactoring common cleanup code required by both
android_browser_finder.py and perf/setup.py and moving it into
pyblib/utils/test_environment.py.
Also, this change avoids killing twice the adb server when running
in a bot environment, where the adb restart is already invoked by
the bot steps.
BUG=268450
R=bulach@chromium.org,tonyg@chromium.org
Review URL: https://codereview.chromium.org/94683002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237815 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28amd64%29/builds/12649/steps/BuildPackages/logs/stdio
autotest-chrome-0.0.1-r3242: ERROR:root:bluetooth_RegressionClient import error: No module named telemetry.core. Skipping bluetooth_RegressionClient
autotest-chrome-0.0.1-r3242: Traceback (most recent call last):
autotest-chrome-0.0.1-r3242: File "/build/amd64-generic/tmp/portage/chromeos-base/autotest-chrome-0.0.1-r3242/work/autotest-work/client/bin/setup_job.py", line 72, in init_test
autotest-chrome-0.0.1-r3242: exec import_stmt + '\n' + init_stmt in locals_dict, globals_dict
autotest-chrome-0.0.1-r3242: File "<string>", line 1, in <module>
autotest-chrome-0.0.1-r3242: File "/build/amd64-generic/tmp/portage/chromeos-base/autotest-chrome-0.0.1-r3242/work/autotest-work/client/site_tests/bluetooth_RegressionClient/bluetooth_RegressionClient.py", line 7, in <module>
autotest-chrome-0.0.1-r3242: from autotest_lib.client.cros.bluetooth import bluetooth_semiauto_helper
autotest-chrome-0.0.1-r3242: File "/build/amd64-generic/tmp/portage/chromeos-base/autotest-chrome-0.0.1-r3242/work/autotest-work/client/cros/bluetooth/bluetooth_semiauto_helper.py", line 10, in <module>
autotest-chrome-0.0.1-r3242: from autotest_lib.client.cros import semiauto_framework
autotest-chrome-0.0.1-r3242: File "/build/amd64-generic/tmp/portage/chromeos-base/autotest-chrome-0.0.1-r3242/work/autotest-work/client/cros/semiauto_framework.py", line 9, in <module>
autotest-chrome-0.0.1-r3242: from autotest_lib.client.common_lib.cros import chrome
autotest-chrome-0.0.1-r3242: File "/build/amd64-generic/tmp/portage/chromeos-base/autotest-chrome-0.0.1-r3242/work/autotest-work/client/common_lib/cros/chrome.py", line 7, in <module>
autotest-chrome-0.0.1-r3242: from telemetry.core import browser_finder, browser_options, exceptions
autotest-chrome-0.0.1-r3242: ImportError: No module named telemetry.core
> [Telemetry] Refactor common Android test harness functions.
>
> Refactoring common cleanup code required by both
> android_browser_finder.py and perf/setup.py and moving it into
> pyblib/utils/test_environment.py.
> Also, this change avoids killing twice the adb server when running
> in a bot environment, where the adb restart is already invoked by
> the bot steps.
>
> BUG=268450
> R=bulach@chromium.org,tonyg@chromium.org
> NOTRY=true
>
> Review URL: https://codereview.chromium.org/62953024TBR=primiano@chromium.org
Review URL: https://codereview.chromium.org/93793002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237674 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Refactoring common cleanup code required by both
android_browser_finder.py and perf/setup.py and moving it into
pyblib/utils/test_environment.py.
Also, this change avoids killing twice the adb server when running
in a bot environment, where the adb restart is already invoked by
the bot steps.
BUG=268450
R=bulach@chromium.org,tonyg@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/62953024
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237667 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add a tool to record screen capture videos from Android devices. This
patch introduces both a standalone tool as well as a telemetry profiler
which captures a video of a telemetry run.
Note that the screen recording functionality requires Android KitKat or
later.
TEST=tools/perf/run_benchmark run --profiler=android-screen-recorder --browser=android-chrome smoothness.top_25 --page-filter=news.yahoo
Review URL: https://codereview.chromium.org/54123005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@233686 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Third retry on crrev.com/226762.
Adds "wait-for-device".
There's some data indicating that adbd on the device sometimes
spontaneously restores its connection.
After running a test, let's kill adbd and wait for bit.
This is a speculative change to try to make the bots healthier.
BUG=268450
Review URL: https://codereview.chromium.org/32163002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@229931 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There's some data indicating that adbd on the device sometimes
spontaneously restores its connection.
After running a test, let's kill adbd and forwarder and wait for bit.
Reverts crrev.com/227038: this is not helping.
BUG=
NOTRY=True
Review URL: https://codereview.chromium.org/26186003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@227278 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There's some data indicating that adbd on the device sometimes
spontaneously restores its connection.
After running a test, let's kill adbd and forwarder and wait for bit.
This is a speculative change to try to make the bots healthier.
Relands crrev.com/226762: will also kill the forwarder.
BUG=
Review URL: https://codereview.chromium.org/25982005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@227038 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This seems to make matters worse on sharded bots. Possibly because
killing adbd on one device affects the host's adb connection with other devices.
> Android perf tests: kill adbd on the device after running a test.
>
> There's some data indicating that adbd on the device sometimes
> spontaneously restores its connection.
> After running a test, let's kill adbd and wait for bit.
>
> This is a speculative change to try to make the bots healthier.
>
> BUG=
>
> Review URL: https://codereview.chromium.org/25574002TBR=bulach@chromium.org
Review URL: https://codereview.chromium.org/25727009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@226980 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There's some data indicating that adbd on the device sometimes
spontaneously restores its connection.
After running a test, let's kill adbd and wait for bit.
This is a speculative change to try to make the bots healthier.
BUG=
Review URL: https://codereview.chromium.org/25574002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@226762 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
adb_profile_chrome is used to capture and download traces from Chrome on
Android. To prepare for future feature improvements and reduce the
maintenance burden, rewrite this bash script in Python.
This reimplementation keeps all the features and command line options of
the original and adds these new ones:
--trace-cc Enable extra trace categories for compositor frame
viewer data.
--trace-gpu Enable extra trace categories for GPU data.
-z, --compress Compress the resulting trace with gzip.
BUG=299822,294883
Review URL: https://codereview.chromium.org/25044004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@226259 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is to fix a bug introduced by r221426 on the WebView telemetry bot.
The issue was related to the fact that ls -l can return no output if the
target folder exists but is empty.
This change makes the IsProtectedFile logic inside _SetCommandLineFile
more reliable, introducing the IsFileWritableOnDevice method in adb
commands.
BUG=284468
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/23477053
git-svn-id: http://src.chromium.org/svn/trunk/src/build@222349 4ff67af0-8c30-449e-8e8b-ad334ec8d88c