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

Side by Side Diff: tools/perf/measurements/v8_gc_times_unittest.py

Issue 924433004: [telemetry]: Add idle% measurement unit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 | « tools/perf/measurements/v8_gc_times.py ('k') | tools/perf/unit-info.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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)}
OLDNEW
« no previous file with comments | « tools/perf/measurements/v8_gc_times.py ('k') | tools/perf/unit-info.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698