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

Side by Side Diff: telemetry/telemetry/benchmark.py

Issue 2091103003: [Telemetry] Add Benchmark.ShouldTearDownStateAfterEachStorySetRun (Closed) Base URL: git@github.com:catapult-project/catapult@master
Patch Set: do not change default Created 4 years, 5 months 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 unified diff | Download patch
« no previous file with comments | « no previous file | telemetry/telemetry/benchmark_unittest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import optparse 5 import optparse
6 6
7 from telemetry import decorators 7 from telemetry import decorators
8 from telemetry.internal import story_runner 8 from telemetry.internal import story_runner
9 from telemetry.internal.util import command_line 9 from telemetry.internal.util import command_line
10 from telemetry.page import legacy_page_test 10 from telemetry.page import legacy_page_test
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 @property 93 @property
94 def max_failures(self): 94 def max_failures(self):
95 return self._max_failures 95 return self._max_failures
96 96
97 @classmethod 97 @classmethod
98 def Name(cls): 98 def Name(cls):
99 return '%s.%s' % (cls.__module__.split('.')[-1], cls.__name__) 99 return '%s.%s' % (cls.__module__.split('.')[-1], cls.__name__)
100 100
101 @classmethod 101 @classmethod
102 def ShouldTearDownStateAfterEachStoryRun(cls): 102 def ShouldTearDownStateAfterEachStoryRun(cls):
103 """Override this method to tear down state after each story run. 103 """Override to specify whether to tear down state after each story run.
104 104
105 Tearing down all states after each story run, e.g., clearing profiles, 105 Tearing down all states after each story run, e.g., clearing profiles,
106 stopping the browser, stopping local server, etc. So the browser will not be 106 stopping the browser, stopping local server, etc. So the browser will not be
107 reused among multiple stories. This is particularly useful to get the 107 reused among multiple stories. This is particularly useful to get the
108 startup part of launching the browser in each story. 108 startup part of launching the browser in each story.
109 109
110 This should only be used by TimelineBasedMeasurement (TBM) benchmarks, but 110 This should only be used by TimelineBasedMeasurement (TBM) benchmarks, but
111 not by PageTest based benchmarks. 111 not by PageTest based benchmarks.
112 """ 112 """
113 return False 113 return False
114 114
115 @classmethod 115 @classmethod
116 def ShouldTearDownStateAfterEachStorySetRun(cls):
117 """Override to specify whether to tear down state after each story set run.
118
119 Defaults to True in order to reset the state and make individual story set
120 repeats more independent of each other. The intended effect is to average
121 out noise in measurements between repeats.
122
123 Long running benchmarks willing to stess test the browser and have it run
124 for long periods of time may switch this value to False.
125
126 This should only be used by TimelineBasedMeasurement (TBM) benchmarks, but
127 not by PageTest based benchmarks.
128 """
129 # TODO(perezju): Switch default value after any benchmarks requiring the
130 # old behaviour are updated accordingly.
131 # https://github.com/catapult-project/catapult/issues/2294#issuecomment-2283 06977
nednguyen 2016/06/24 16:11:55 this may cause a lint check failure. Feel free to
132 return False
133
134 @classmethod
116 def AddCommandLineArgs(cls, parser): 135 def AddCommandLineArgs(cls, parser):
117 group = optparse.OptionGroup(parser, '%s test options' % cls.Name()) 136 group = optparse.OptionGroup(parser, '%s test options' % cls.Name())
118 cls.AddBenchmarkCommandLineArgs(group) 137 cls.AddBenchmarkCommandLineArgs(group)
119 138
120 if cls.HasTraceRerunDebugOption(): 139 if cls.HasTraceRerunDebugOption():
121 group.add_option( 140 group.add_option(
122 '--rerun-with-debug-trace', 141 '--rerun-with-debug-trace',
123 action='store_true', 142 action='store_true',
124 help='Rerun option that enables more extensive tracing.') 143 help='Rerun option that enables more extensive tracing.')
125 144
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 raise NotImplementedError('This test has no "page_set" attribute.') 261 raise NotImplementedError('This test has no "page_set" attribute.')
243 return self.page_set() # pylint: disable=not-callable 262 return self.page_set() # pylint: disable=not-callable
244 263
245 264
246 def AddCommandLineArgs(parser): 265 def AddCommandLineArgs(parser):
247 story_runner.AddCommandLineArgs(parser) 266 story_runner.AddCommandLineArgs(parser)
248 267
249 268
250 def ProcessCommandLineArgs(parser, args): 269 def ProcessCommandLineArgs(parser, args):
251 story_runner.ProcessCommandLineArgs(parser, args) 270 story_runner.ProcessCommandLineArgs(parser, args)
OLDNEW
« no previous file with comments | « no previous file | telemetry/telemetry/benchmark_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698