Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(834)

Unified Diff: tools/perf/measurements/page_cycler.py

Issue 737403002: Revert of telemetry: Remove command line args from page test (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/perf/benchmarks/v8.py ('k') | tools/perf/measurements/page_cycler_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/measurements/page_cycler.py
diff --git a/tools/perf/measurements/page_cycler.py b/tools/perf/measurements/page_cycler.py
index e77558018aba81b7a5eb76fc1240553ca26b677c..d70b9110dcbe20518aaac9b306cf5f0ee7aebe63 100644
--- a/tools/perf/measurements/page_cycler.py
+++ b/tools/perf/measurements/page_cycler.py
@@ -30,16 +30,15 @@
class PageCycler(page_test.PageTest):
- def __init__(self, page_repeat, pageset_repeat, cold_load_percent=50,
- record_v8_object_stats=False, report_speed_index=False):
- super(PageCycler, self).__init__()
+ options = {'pageset_repeat': 10}
+
+ def __init__(self, *args, **kwargs):
+ super(PageCycler, self).__init__(*args, **kwargs)
with open(os.path.join(os.path.dirname(__file__),
'page_cycler.js'), 'r') as f:
self._page_cycler_js = f.read()
- self._record_v8_object_stats = record_v8_object_stats
- self._report_speed_index = report_speed_index
self._speedindex_metric = speedindex.SpeedIndexMetric()
self._memory_metric = None
self._power_metric = None
@@ -48,24 +47,42 @@
self._has_loaded_page = collections.defaultdict(int)
self._initial_renderer_url = None # to avoid cross-renderer navigation
- cold_runs_percent_set = (cold_load_percent != None)
+ @classmethod
+ def AddCommandLineArgs(cls, parser):
+ parser.add_option('--v8-object-stats',
+ action='store_true',
+ help='Enable detailed V8 object statistics.')
+
+ parser.add_option('--report-speed-index',
+ action='store_true',
+ help='Enable the speed index metric.')
+
+ parser.add_option('--cold-load-percent', type='int', default=50,
+ help='%d of page visits for which a cold load is forced')
+
+ @classmethod
+ def ProcessCommandLineArgs(cls, parser, args):
+ cls._record_v8_object_stats = args.v8_object_stats
+ cls._report_speed_index = args.report_speed_index
+
+ cold_runs_percent_set = (args.cold_load_percent != None)
# Handle requests for cold cache runs
if (cold_runs_percent_set and
- (cold_load_percent < 0 or cold_load_percent > 100)):
- raise Exception('cold-load-percent must be in the range [0-100]')
+ (args.cold_load_percent < 0 or args.cold_load_percent > 100)):
+ raise Exception('--cold-load-percent must be in the range [0-100]')
# Make sure _cold_run_start_index is an integer multiple of page_repeat.
# Without this, --pageset_shuffle + --page_repeat could lead to
# assertion failures on _started_warm in WillNavigateToPage.
if cold_runs_percent_set:
number_warm_pageset_runs = int(
- (int(pageset_repeat) - 1) * (100 - cold_load_percent) / 100)
- number_warm_runs = number_warm_pageset_runs * page_repeat
- self._cold_run_start_index = number_warm_runs + page_repeat
- self._discard_first_result = (not cold_load_percent or
- self._discard_first_result)
+ (int(args.pageset_repeat) - 1) * (100 - args.cold_load_percent) / 100)
+ number_warm_runs = number_warm_pageset_runs * args.page_repeat
+ cls._cold_run_start_index = number_warm_runs + args.page_repeat
+ cls.discard_first_result = (not args.cold_load_percent or
+ cls.discard_first_result)
else:
- self._cold_run_start_index = pageset_repeat * page_repeat
+ cls._cold_run_start_index = args.pageset_repeat * args.page_repeat
def WillStartBrowser(self, platform):
"""Initialize metrics once right before the browser has been launched."""
« no previous file with comments | « tools/perf/benchmarks/v8.py ('k') | tools/perf/measurements/page_cycler_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698