| 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 |