diff options
author | bulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-27 09:32:45 +0000 |
---|---|---|
committer | bulach@chromium.org <bulach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-27 09:32:45 +0000 |
commit | 4b611e93f77c75c33a9f9128fe542c0c59aa4be3 (patch) | |
tree | 626c12771e75d79a88aa4cb1947f707f334874db /tools | |
parent | 247df2be0e6a352eb5d74edf0e55bc1914f2f062 (diff) | |
download | chromium_src-4b611e93f77c75c33a9f9128fe542c0c59aa4be3.zip chromium_src-4b611e93f77c75c33a9f9128fe542c0c59aa4be3.tar.gz chromium_src-4b611e93f77c75c33a9f9128fe542c0c59aa4be3.tar.bz2 |
Telemetry / Android: adds option to prevent setting "performance mode".
After r184153, Telemetry always set the cpu governor to max performance by default.
This is done so all bots and graphs will have less noise as theoretically the cpu frequency
will remain more constant.
However, sometimes it's interesting to change run on whatever mode was configured manually.
BUG=
TEST=
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/12314102
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184914 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
3 files changed, 16 insertions, 2 deletions
diff --git a/tools/telemetry/telemetry/core/browser_options.py b/tools/telemetry/telemetry/core/browser_options.py index bacde66..b809c98 100644 --- a/tools/telemetry/telemetry/core/browser_options.py +++ b/tools/telemetry/telemetry/core/browser_options.py @@ -125,6 +125,14 @@ class BrowserOptions(optparse.Values): help='Increase verbosity level (repeat as needed)') parser.add_option_group(group) + # Platform options + group = optparse.OptionGroup(parser, 'Platform options') + group.add_option('--no-performance-mode', action='store_true', + help='Some platforms run on "full performance mode" where the ' + 'benchmark is executed at maximum CPU speed in order to minimize noise ' + '(specially important for dashboards / continuous builds). ' + 'This option prevents Telemetry from tweaking such platform settings.') + real_parse = parser.parse_args def ParseArgs(args=None): defaults = parser.get_default_values() diff --git a/tools/telemetry/telemetry/core/chrome/android_browser_finder.py b/tools/telemetry/telemetry/core/chrome/android_browser_finder.py index 7095f00..a2f8b18 100644 --- a/tools/telemetry/telemetry/core/chrome/android_browser_finder.py +++ b/tools/telemetry/telemetry/core/chrome/android_browser_finder.py @@ -56,7 +56,7 @@ class PossibleAndroidBrowser(possible_browser.PossibleBrowser): self._options, *self._args) platform_backend = android_platform_backend.AndroidPlatformBackend( self._args[0].Adb(), self._args[1], - self._args[4]) + self._args[4], self._options.no_performance_mode) b = browser.Browser(backend, platform.Platform(platform_backend)) backend.SetBrowser(b) return b diff --git a/tools/telemetry/telemetry/core/chrome/android_platform_backend.py b/tools/telemetry/telemetry/core/chrome/android_platform_backend.py index e5ab574..47b9e5b 100644 --- a/tools/telemetry/telemetry/core/chrome/android_platform_backend.py +++ b/tools/telemetry/telemetry/core/chrome/android_platform_backend.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 import sys @@ -21,7 +22,7 @@ except Exception: class AndroidPlatformBackend(object): - def __init__(self, adb, window_package, window_activity): + def __init__(self, adb, window_package, window_activity, no_performance_mode): super(AndroidPlatformBackend, self).__init__() self._adb = adb self._window_package = window_package @@ -29,6 +30,9 @@ class AndroidPlatformBackend(object): self._surface_stats_collector = None self._perf_tests_setup = perf_tests_helper.PerfTestSetup(self._adb) self._thermal_throttle = thermal_throttle.ThermalThrottle(self._adb) + self._no_performance_mode = no_performance_mode + if self._no_performance_mode: + logging.warning('CPU governor will not be set!') def IsRawDisplayFrameRateSupported(self): return True @@ -45,6 +49,8 @@ class AndroidPlatformBackend(object): self._surface_stats_collector = None def SetFullPerformanceModeEnabled(self, enabled): + if self._no_performance_mode: + return if enabled: self._perf_tests_setup.SetUp() else: |