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

Side by Side Diff: tools/telemetry/telemetry/page/record_wpr.py

Issue 465213002: [Telemetry] Remove arbitrary sleep in record_wpr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python
dtu 2014/08/13 05:47:07 Might have to disable executable bit?
tonyg 2014/08/13 05:51:34 I did. The unified diff shows the permissions chan
2 # Copyright 2012 The Chromium Authors. All rights reserved. 1 # Copyright 2012 The Chromium Authors. All rights reserved.
3 # 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
4 # found in the LICENSE file. 3 # found in the LICENSE file.
4
5 import logging 5 import logging
6 import sys 6 import sys
7 import time
8 7
9 from telemetry import benchmark 8 from telemetry import benchmark
10 from telemetry.core import browser_options 9 from telemetry.core import browser_options
11 from telemetry.core import discover 10 from telemetry.core import discover
12 from telemetry.core import wpr_modes 11 from telemetry.core import wpr_modes
13 from telemetry.page import page_runner 12 from telemetry.page import page_runner
14 from telemetry.page import page_set 13 from telemetry.page import page_set
15 from telemetry.page import page_test 14 from telemetry.page import page_test
16 from telemetry.page import profile_creator 15 from telemetry.page import profile_creator
17 from telemetry.page import test_expectations 16 from telemetry.page import test_expectations
17 from telemetry.core import util
dtu 2014/08/13 05:47:07 out of order
tonyg 2014/08/13 05:51:34 Oops, fixed.
18 from telemetry.results import results_options 18 from telemetry.results import results_options
19 19
20 20
21 class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223 21 class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223
22 def __init__(self, action_names): 22 def __init__(self, action_names):
23 super(RecorderPageTest, self).__init__() 23 super(RecorderPageTest, self).__init__()
24 self._action_names = action_names 24 self._action_names = action_names
25 self.page_test = None 25 self.page_test = None
26 26
27 def CanRunForPage(self, page): 27 def CanRunForPage(self, page):
(...skipping 17 matching lines...) Expand all
45 def DidRunActions(self, page, tab): 45 def DidRunActions(self, page, tab):
46 if self.page_test: 46 if self.page_test:
47 self.page_test.DidRunActions(page, tab) 47 self.page_test.DidRunActions(page, tab)
48 48
49 def ValidateAndMeasurePage(self, page, tab, results): 49 def ValidateAndMeasurePage(self, page, tab, results):
50 if self.page_test: 50 if self.page_test:
51 self.page_test.ValidateAndMeasurePage(page, tab, results) 51 self.page_test.ValidateAndMeasurePage(page, tab, results)
52 52
53 def RunPage(self, page, tab, results): 53 def RunPage(self, page, tab, results):
54 tab.WaitForDocumentReadyStateToBeComplete() 54 tab.WaitForDocumentReadyStateToBeComplete()
55 55 util.WaitFor(tab.HasReachedQuiescence, 30)
dtu 2014/08/13 05:47:07 30 is too long for the unit tests
tonyg 2014/08/13 05:51:34 They don't get anywhere near this because the simp
56 # When recording, sleep to catch any resources that load post-onload.
57 # TODO(tonyg): This should probably monitor resource timing for activity
58 # and sleep until 2s since the last network event with some timeout like
59 # 20s. We could wrap this up as WaitForNetworkIdle() and share with the
60 # speed index metric.
61 time.sleep(3)
62 56
63 if self.page_test: 57 if self.page_test:
64 self._action_name_to_run = self.page_test.action_name_to_run 58 self._action_name_to_run = self.page_test.action_name_to_run
65 self.page_test.RunPage(page, tab, results) 59 self.page_test.RunPage(page, tab, results)
66 return 60 return
67 61
68 should_reload = False 62 should_reload = False
69 # Run the actions on the page for all available measurements. 63 # Run the actions on the page for all available measurements.
70 for action_name in self._action_names: 64 for action_name in self._action_names:
71 # Skip this action if it is not defined 65 # Skip this action if it is not defined
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 quick_args = [a for a in sys.argv[1:] if not a.startswith('-')] 182 quick_args = [a for a in sys.argv[1:] if not a.startswith('-')]
189 if len(quick_args) != 1: 183 if len(quick_args) != 1:
190 print >> sys.stderr, 'Usage: record_wpr <PageSet|Benchmark>\n' 184 print >> sys.stderr, 'Usage: record_wpr <PageSet|Benchmark>\n'
191 sys.exit(1) 185 sys.exit(1)
192 target = quick_args.pop() 186 target = quick_args.pop()
193 wpr_recorder = WprRecorder(base_dir, target) 187 wpr_recorder = WprRecorder(base_dir, target)
194 results = wpr_recorder.CreateResults() 188 results = wpr_recorder.CreateResults()
195 wpr_recorder.Record(results) 189 wpr_recorder.Record(results)
196 wpr_recorder.HandleResults(results) 190 wpr_recorder.HandleResults(results)
197 return min(255, len(results.failures)) 191 return min(255, len(results.failures))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698