OLD | NEW |
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 collections | 5 import collections |
6 import page_sets | 6 import page_sets |
7 import re | 7 import re |
8 | 8 |
9 from core import perf_benchmark | 9 from core import perf_benchmark |
10 | 10 |
11 from telemetry.core import util | 11 from telemetry.core import util |
12 from telemetry.page import action_runner | |
13 from telemetry.page import page_test | 12 from telemetry.page import page_test |
14 from telemetry.timeline import async_slice as async_slice_module | 13 from telemetry.timeline import async_slice as async_slice_module |
15 from telemetry.timeline import slice as slice_module | 14 from telemetry.timeline import slice as slice_module |
16 from telemetry.value import scalar | 15 from telemetry.value import scalar |
17 | 16 |
18 from measurements import timeline_controller | 17 from measurements import timeline_controller |
19 from metrics import speedindex | 18 from metrics import speedindex |
20 | 19 |
21 | 20 |
22 class _ServiceWorkerTimelineMetric(object): | 21 class _ServiceWorkerTimelineMetric(object): |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 def DidRunPage(self, platform): | 97 def DidRunPage(self, platform): |
99 if platform.tracing_controller.is_tracing_running: | 98 if platform.tracing_controller.is_tracing_running: |
100 platform.tracing_controller.StopTracing() | 99 platform.tracing_controller.StopTracing() |
101 | 100 |
102 def WillNavigateToPage(self, page, tab): | 101 def WillNavigateToPage(self, page, tab): |
103 self._timeline_controller.SetUp(page, tab) | 102 self._timeline_controller.SetUp(page, tab) |
104 self._timeline_controller.Start(tab) | 103 self._timeline_controller.Start(tab) |
105 self._speed_index.Start(page, tab) | 104 self._speed_index.Start(page, tab) |
106 | 105 |
107 def ValidateAndMeasurePage(self, page, tab, results): | 106 def ValidateAndMeasurePage(self, page, tab, results): |
108 runner = action_runner.ActionRunner(tab) | |
109 # timeline_controller requires creation of at least a single interaction | 107 # timeline_controller requires creation of at least a single interaction |
110 # record. service_worker should be refactored to follow the | 108 # record. service_worker should be refactored to follow the |
111 # timeline_based_measurement or it should not re-use timeline_controller | 109 # timeline_based_measurement or it should not re-use timeline_controller |
112 # logic for start & stop tracing. | 110 # logic for start & stop tracing. |
113 with runner.CreateInteraction('_DummyInteraction'): | 111 with tab.action_runner.CreateInteraction('_DummyInteraction'): |
114 pass | 112 pass |
115 tab.WaitForDocumentReadyStateToBeComplete(40) | 113 tab.WaitForDocumentReadyStateToBeComplete(40) |
116 self._timeline_controller.Stop(tab, results) | 114 self._timeline_controller.Stop(tab, results) |
117 | 115 |
118 # Retrieve TRACE_EVENTs | 116 # Retrieve TRACE_EVENTs |
119 timeline_metric = _ServiceWorkerTimelineMetric() | 117 timeline_metric = _ServiceWorkerTimelineMetric() |
120 browser_process = self._timeline_controller.model.browser_process | 118 browser_process = self._timeline_controller.model.browser_process |
121 filter_text = '(RegisterServiceWorker|'\ | 119 filter_text = '(RegisterServiceWorker|'\ |
122 'UnregisterServiceWorker|'\ | 120 'UnregisterServiceWorker|'\ |
123 'ProcessAllocate|'\ | 121 'ProcessAllocate|'\ |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 page_set = page_sets.ServiceWorkerMicroBenchmarkPageSet | 183 page_set = page_sets.ServiceWorkerMicroBenchmarkPageSet |
186 | 184 |
187 @classmethod | 185 @classmethod |
188 def Name(cls): | 186 def Name(cls): |
189 return 'service_worker.service_worker_micro_benchmark' | 187 return 'service_worker.service_worker_micro_benchmark' |
190 | 188 |
191 @classmethod | 189 @classmethod |
192 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 | 190 def ShouldDisable(cls, possible_browser): # http://crbug.com/597656 |
193 return (possible_browser.browser_type == 'reference' and | 191 return (possible_browser.browser_type == 'reference' and |
194 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') | 192 possible_browser.platform.GetDeviceTypeName() == 'Nexus 5X') |
OLD | NEW |