summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/telemetry/telemetry/core/browser_options.py8
-rw-r--r--tools/telemetry/telemetry/core/chrome/android_browser_finder.py2
-rw-r--r--tools/telemetry/telemetry/core/chrome/android_platform_backend.py8
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: