OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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 from measurements import v8_gc_times | 5 from measurements import v8_gc_times |
6 from telemetry.core import wpr_modes | 6 from telemetry.core import wpr_modes |
7 from telemetry.page import page as page_module | 7 from telemetry.page import page as page_module |
8 from telemetry.results import page_test_results | 8 from telemetry.results import page_test_results |
9 from telemetry.timeline import model as model_module | 9 from telemetry.timeline import model as model_module |
10 from telemetry.unittest_util import options_for_unittests | 10 from telemetry.unittest_util import options_for_unittests |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 test_page_helper.AddEvent('renderer.scheduler', | 132 test_page_helper.AddEvent('renderer.scheduler', |
133 'SingleThreadIdleTaskRunner::RunTask', 52, 6, {'allotted_time_ms': 12}) | 133 'SingleThreadIdleTaskRunner::RunTask', 52, 6, {'allotted_time_ms': 12}) |
134 test_page_helper.AddEvent('v8', 'V8.GCCompactor', 52, 5) | 134 test_page_helper.AddEvent('v8', 'V8.GCCompactor', 52, 5) |
135 | 135 |
136 results = test_page_helper.MeasureFakePage() | 136 results = test_page_helper.MeasureFakePage() |
137 expected = _GetEmptyResults() | 137 expected = _GetEmptyResults() |
138 expected['duration'] = ('ms', 68) | 138 expected['duration'] = ('ms', 68) |
139 expected['cpu_time'] = ('ms', 57) | 139 expected['cpu_time'] = ('ms', 57) |
140 expected['v8_gc_incremental_marking'] = ('ms', 6.0) | 140 expected['v8_gc_incremental_marking'] = ('ms', 6.0) |
141 expected['v8_gc_incremental_marking_outside_idle'] = ('ms', 4.0) | 141 expected['v8_gc_incremental_marking_outside_idle'] = ('ms', 4.0) |
142 expected['v8_gc_incremental_marking_percentage_idle'] = ('%', 100 * 2 / 6.0) | 142 expected['v8_gc_incremental_marking_percentage_idle'] = \ |
| 143 ('idle%', 100 * 2 / 6.0) |
143 expected['v8_gc_scavenger'] = ('ms', 7.0) | 144 expected['v8_gc_scavenger'] = ('ms', 7.0) |
144 expected['v8_gc_scavenger_outside_idle'] = ('ms', 4.0) | 145 expected['v8_gc_scavenger_outside_idle'] = ('ms', 4.0) |
145 expected['v8_gc_scavenger_percentage_idle'] = ('%', 100 * 3 / 7.0) | 146 expected['v8_gc_scavenger_percentage_idle'] = ('idle%', 100 * 3 / 7.0) |
146 expected['v8_gc_mark_compactor'] = ('ms', 9.0) | 147 expected['v8_gc_mark_compactor'] = ('ms', 9.0) |
147 expected['v8_gc_mark_compactor_outside_idle'] = ('ms', 4.0) | 148 expected['v8_gc_mark_compactor_outside_idle'] = ('ms', 4.0) |
148 expected['v8_gc_mark_compactor_percentage_idle'] = ('%', 100 * 5 / 9.0) | 149 expected['v8_gc_mark_compactor_percentage_idle'] = ('idle%', 100 * 5 / 9.0) |
149 expected['v8_gc_total'] = ('ms', 22.0) | 150 expected['v8_gc_total'] = ('ms', 22.0) |
150 expected['v8_gc_total_outside_idle'] = ('ms', 12.0) | 151 expected['v8_gc_total_outside_idle'] = ('ms', 12.0) |
151 expected['v8_gc_total_percentage_idle'] = ('%', 100 * 10 / 22.0) | 152 expected['v8_gc_total_percentage_idle'] = ('idle%', 100 * 10 / 22.0) |
152 | 153 |
153 self._AssertResultsEqual(expected, _ActualValues(results)) | 154 self._AssertResultsEqual(expected, _ActualValues(results)) |
154 | 155 |
155 def testWithIdleTaskOverruns(self): | 156 def testWithIdleTaskOverruns(self): |
156 test_page_helper = V8GCTimesTestPageHelper( | 157 test_page_helper = V8GCTimesTestPageHelper( |
157 self.CreateEmptyPageSet()) | 158 self.CreateEmptyPageSet()) |
158 | 159 |
159 test_page_helper.AddEvent('toplevel', 'PostMessage', | 160 test_page_helper.AddEvent('toplevel', 'PostMessage', |
160 thread_start=0, thread_duration=80, wall_start=5, wall_duration=92) | 161 thread_start=0, thread_duration=80, wall_start=5, wall_duration=92) |
161 | 162 |
(...skipping 10 matching lines...) Expand all Loading... |
172 test_page_helper.AddEvent('v8', 'V8.GCCompactor', 52, 22) | 173 test_page_helper.AddEvent('v8', 'V8.GCCompactor', 52, 22) |
173 | 174 |
174 results = test_page_helper.MeasureFakePage() | 175 results = test_page_helper.MeasureFakePage() |
175 expected = _GetEmptyResults() | 176 expected = _GetEmptyResults() |
176 expected['duration'] = ('ms', 92) | 177 expected['duration'] = ('ms', 92) |
177 expected['cpu_time'] = ('ms', 80) | 178 expected['cpu_time'] = ('ms', 80) |
178 expected['v8_gc_incremental_marking'] = ('ms', 14.0) | 179 expected['v8_gc_incremental_marking'] = ('ms', 14.0) |
179 expected['v8_gc_incremental_marking_outside_idle'] = ('ms', 8.0) | 180 expected['v8_gc_incremental_marking_outside_idle'] = ('ms', 8.0) |
180 expected['v8_gc_incremental_marking_idle_deadline_overrun'] = ('ms', 8.0) | 181 expected['v8_gc_incremental_marking_idle_deadline_overrun'] = ('ms', 8.0) |
181 expected['v8_gc_incremental_marking_percentage_idle'] = \ | 182 expected['v8_gc_incremental_marking_percentage_idle'] = \ |
182 ('%', 100 * 6 / 14.0) | 183 ('idle%', 100 * 6 / 14.0) |
183 expected['v8_gc_scavenger'] = ('ms', 14.0) | 184 expected['v8_gc_scavenger'] = ('ms', 14.0) |
184 expected['v8_gc_scavenger_outside_idle'] = ('ms', 6.0) | 185 expected['v8_gc_scavenger_outside_idle'] = ('ms', 6.0) |
185 expected['v8_gc_scavenger_idle_deadline_overrun'] = ('ms', 6.0) | 186 expected['v8_gc_scavenger_idle_deadline_overrun'] = ('ms', 6.0) |
186 expected['v8_gc_scavenger_percentage_idle'] = ('%', 100 * 8 / 14.0) | 187 expected['v8_gc_scavenger_percentage_idle'] = ('idle%', 100 * 8 / 14.0) |
187 expected['v8_gc_mark_compactor'] = ('ms', 22.0) | 188 expected['v8_gc_mark_compactor'] = ('ms', 22.0) |
188 expected['v8_gc_mark_compactor_outside_idle'] = ('ms', 13.0) | 189 expected['v8_gc_mark_compactor_outside_idle'] = ('ms', 13.0) |
189 expected['v8_gc_mark_compactor_idle_deadline_overrun'] = ('ms', 13.0) | 190 expected['v8_gc_mark_compactor_idle_deadline_overrun'] = ('ms', 13.0) |
190 expected['v8_gc_mark_compactor_percentage_idle'] = ('%', 100 * 9 / 22.0) | 191 expected['v8_gc_mark_compactor_percentage_idle'] = ('idle%', 100 * 9 / 22.0) |
191 expected['v8_gc_total'] = ('ms', 50.0) | 192 expected['v8_gc_total'] = ('ms', 50.0) |
192 expected['v8_gc_total_outside_idle'] = ('ms', 27.0) | 193 expected['v8_gc_total_outside_idle'] = ('ms', 27.0) |
193 expected['v8_gc_total_idle_deadline_overrun'] = ('ms', 27.0) | 194 expected['v8_gc_total_idle_deadline_overrun'] = ('ms', 27.0) |
194 expected['v8_gc_total_percentage_idle'] = ('%', 100 * 23 / 50.0) | 195 expected['v8_gc_total_percentage_idle'] = ('idle%', 100 * 23 / 50.0) |
195 | 196 |
196 self._AssertResultsEqual(expected, _ActualValues(results)) | 197 self._AssertResultsEqual(expected, _ActualValues(results)) |
197 | 198 |
198 def testWithIdleTaskWallDurationOverruns(self): | 199 def testWithIdleTaskWallDurationOverruns(self): |
199 test_page_helper = V8GCTimesTestPageHelper( | 200 test_page_helper = V8GCTimesTestPageHelper( |
200 self.CreateEmptyPageSet()) | 201 self.CreateEmptyPageSet()) |
201 | 202 |
202 test_page_helper.AddEvent('toplevel', 'PostMessage', | 203 test_page_helper.AddEvent('toplevel', 'PostMessage', |
203 thread_start=0, thread_duration=80, wall_start=5, wall_duration=92) | 204 thread_start=0, thread_duration=80, wall_start=5, wall_duration=92) |
204 | 205 |
205 test_page_helper.AddEvent('renderer.scheduler', | 206 test_page_helper.AddEvent('renderer.scheduler', |
206 'SingleThreadIdleTaskRunner::RunTask', 15, 15, {'allotted_time_ms': 8}) | 207 'SingleThreadIdleTaskRunner::RunTask', 15, 15, {'allotted_time_ms': 8}) |
207 test_page_helper.AddEvent('v8', 'V8.GCScavenger', | 208 test_page_helper.AddEvent('v8', 'V8.GCScavenger', |
208 thread_start=15, thread_duration=4, wall_start=15, wall_duration=14) | 209 thread_start=15, thread_duration=4, wall_start=15, wall_duration=14) |
209 | 210 |
210 results = test_page_helper.MeasureFakePage() | 211 results = test_page_helper.MeasureFakePage() |
211 expected = _GetEmptyResults() | 212 expected = _GetEmptyResults() |
212 expected['duration'] = ('ms', 92) | 213 expected['duration'] = ('ms', 92) |
213 expected['cpu_time'] = ('ms', 80) | 214 expected['cpu_time'] = ('ms', 80) |
214 expected['v8_gc_scavenger'] = ('ms', 4.0) | 215 expected['v8_gc_scavenger'] = ('ms', 4.0) |
215 expected_outside_idle = 4.0 - (4.0 * 8 / 14) | 216 expected_outside_idle = 4.0 - (4.0 * 8 / 14) |
216 expected['v8_gc_scavenger_outside_idle'] = ('ms', expected_outside_idle) | 217 expected['v8_gc_scavenger_outside_idle'] = ('ms', expected_outside_idle) |
217 expected['v8_gc_scavenger_idle_deadline_overrun'] = ('ms', 6.0) | 218 expected['v8_gc_scavenger_idle_deadline_overrun'] = ('ms', 6.0) |
218 expected['v8_gc_scavenger_percentage_idle'] = \ | 219 expected['v8_gc_scavenger_percentage_idle'] = \ |
219 ('%', 100 * (4.0 - expected_outside_idle) / 4.0) | 220 ('idle%', 100 * (4.0 - expected_outside_idle) / 4.0) |
220 expected['v8_gc_total'] = expected['v8_gc_scavenger'] | 221 expected['v8_gc_total'] = expected['v8_gc_scavenger'] |
221 expected['v8_gc_total_outside_idle'] = \ | 222 expected['v8_gc_total_outside_idle'] = \ |
222 expected['v8_gc_scavenger_outside_idle'] | 223 expected['v8_gc_scavenger_outside_idle'] |
223 expected['v8_gc_total_idle_deadline_overrun'] = \ | 224 expected['v8_gc_total_idle_deadline_overrun'] = \ |
224 expected['v8_gc_scavenger_idle_deadline_overrun'] | 225 expected['v8_gc_scavenger_idle_deadline_overrun'] |
225 expected['v8_gc_total_percentage_idle'] = \ | 226 expected['v8_gc_total_percentage_idle'] = \ |
226 expected['v8_gc_scavenger_percentage_idle'] | 227 expected['v8_gc_scavenger_percentage_idle'] |
227 | 228 |
228 self._AssertResultsEqual(expected, _ActualValues(results)) | 229 self._AssertResultsEqual(expected, _ActualValues(results)) |
229 | 230 |
(...skipping 11 matching lines...) Expand all Loading... |
241 for v in results.all_page_specific_values | 242 for v in results.all_page_specific_values |
242 )) | 243 )) |
243 | 244 |
244 | 245 |
245 def _GetEmptyResults(): | 246 def _GetEmptyResults(): |
246 return {'cpu_time': ('ms', 0.0), | 247 return {'cpu_time': ('ms', 0.0), |
247 'duration': ('ms', 0.0), | 248 'duration': ('ms', 0.0), |
248 'v8_gc_incremental_marking': ('ms', 0.0), | 249 'v8_gc_incremental_marking': ('ms', 0.0), |
249 'v8_gc_incremental_marking_idle_deadline_overrun': ('ms', 0.0), | 250 'v8_gc_incremental_marking_idle_deadline_overrun': ('ms', 0.0), |
250 'v8_gc_incremental_marking_outside_idle': ('ms', 0.0), | 251 'v8_gc_incremental_marking_outside_idle': ('ms', 0.0), |
251 'v8_gc_incremental_marking_percentage_idle': ('%', 0.0), | 252 'v8_gc_incremental_marking_percentage_idle': ('idle%', 0.0), |
252 'v8_gc_mark_compactor': ('ms', 0.0), | 253 'v8_gc_mark_compactor': ('ms', 0.0), |
253 'v8_gc_mark_compactor_idle_deadline_overrun': ('ms', 0.0), | 254 'v8_gc_mark_compactor_idle_deadline_overrun': ('ms', 0.0), |
254 'v8_gc_mark_compactor_outside_idle': ('ms', 0.0), | 255 'v8_gc_mark_compactor_outside_idle': ('ms', 0.0), |
255 'v8_gc_mark_compactor_percentage_idle': ('%', 0.0), | 256 'v8_gc_mark_compactor_percentage_idle': ('idle%', 0.0), |
256 'v8_gc_scavenger': ('ms', 0.0), | 257 'v8_gc_scavenger': ('ms', 0.0), |
257 'v8_gc_scavenger_idle_deadline_overrun': ('ms', 0.0), | 258 'v8_gc_scavenger_idle_deadline_overrun': ('ms', 0.0), |
258 'v8_gc_scavenger_outside_idle': ('ms', 0.0), | 259 'v8_gc_scavenger_outside_idle': ('ms', 0.0), |
259 'v8_gc_scavenger_percentage_idle': ('%', 0.0), | 260 'v8_gc_scavenger_percentage_idle': ('idle%', 0.0), |
260 'v8_gc_total': ('ms', 0.0), | 261 'v8_gc_total': ('ms', 0.0), |
261 'v8_gc_total_idle_deadline_overrun': ('ms', 0.0), | 262 'v8_gc_total_idle_deadline_overrun': ('ms', 0.0), |
262 'v8_gc_total_outside_idle': ('ms', 0.0)} | 263 'v8_gc_total_outside_idle': ('ms', 0.0)} |
OLD | NEW |