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

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: Created 4 years, 6 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
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 return True
nednguyen 2016/06/24 14:44:50 This will cause a behavior change to all existing
perezju 2016/06/24 15:12:36 ok, sgtm
130
131 @classmethod
116 def AddCommandLineArgs(cls, parser): 132 def AddCommandLineArgs(cls, parser):
117 group = optparse.OptionGroup(parser, '%s test options' % cls.Name()) 133 group = optparse.OptionGroup(parser, '%s test options' % cls.Name())
118 cls.AddBenchmarkCommandLineArgs(group) 134 cls.AddBenchmarkCommandLineArgs(group)
119 135
120 if cls.HasTraceRerunDebugOption(): 136 if cls.HasTraceRerunDebugOption():
121 group.add_option( 137 group.add_option(
122 '--rerun-with-debug-trace', 138 '--rerun-with-debug-trace',
123 action='store_true', 139 action='store_true',
124 help='Rerun option that enables more extensive tracing.') 140 help='Rerun option that enables more extensive tracing.')
125 141
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 raise NotImplementedError('This test has no "page_set" attribute.') 258 raise NotImplementedError('This test has no "page_set" attribute.')
243 return self.page_set() # pylint: disable=not-callable 259 return self.page_set() # pylint: disable=not-callable
244 260
245 261
246 def AddCommandLineArgs(parser): 262 def AddCommandLineArgs(parser):
247 story_runner.AddCommandLineArgs(parser) 263 story_runner.AddCommandLineArgs(parser)
248 264
249 265
250 def ProcessCommandLineArgs(parser, args): 266 def ProcessCommandLineArgs(parser, args):
251 story_runner.ProcessCommandLineArgs(parser, args) 267 story_runner.ProcessCommandLineArgs(parser, args)
OLDNEW
« no previous file with comments | « no previous file | telemetry/telemetry/benchmark_unittest.py » ('j') | telemetry/telemetry/benchmark_unittest.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698