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

Side by Side Diff: tools/perf/metrics/timeline_unittest.py

Issue 643343002: Telemetry: Add mean-frame-time and tasks-per-frame (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove .gitmodules attempt. Created 6 years, 2 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
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 unittest 5 import unittest
6 6
7 from metrics import test_page_test_results 7 from metrics import test_page_test_results
8 from metrics import timeline 8 from metrics import timeline
9 from telemetry.timeline import model as model_module 9 from telemetry.timeline import model as model_module
10 from telemetry.web_perf import timeline_interaction_record as tir_module 10 from telemetry.web_perf import timeline_interaction_record as tir_module
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 renderer_main.BeginSlice('cat1', 'Z', 31, 20) 131 renderer_main.BeginSlice('cat1', 'Z', 31, 20)
132 renderer_main.BeginSlice('cat1', 'Z', 33, 21) 132 renderer_main.BeginSlice('cat1', 'Z', 33, 21)
133 model.FinalizeImport() 133 model.FinalizeImport()
134 134
135 # Exclude 'Z' using an action-range. 135 # Exclude 'Z' using an action-range.
136 metric = timeline.ThreadTimesTimelineMetric() 136 metric = timeline.ThreadTimesTimelineMetric()
137 metric.details_to_report = timeline.ReportMainThreadOnly 137 metric.details_to_report = timeline.ReportMainThreadOnly
138 results = self.GetResults(metric, model, renderer_main.parent, 138 results = self.GetResults(metric, model, renderer_main.parent,
139 [_GetInteractionRecord(10, 30)]) 139 [_GetInteractionRecord(10, 30)])
140 140
141 141 # Test for the results we expect.
142 # Test a couple specific results. 142 assert_results = [
143 assert_results = { 143 (timeline.ThreadCpuTimeResultName('renderer_main'), 'ms', 9.75),
144 timeline.ThreadCpuTimeResultName('renderer_main') : 9.75, 144 (timeline.ThreadTasksResultName('renderer_main'), 'tasks', 0.5),
145 timeline.ThreadDetailResultName('renderer_main','cat1') : 9.5, 145 (timeline.ThreadMeanFrameResultName('renderer_compositor'), 'ms', 10.0),
146 timeline.ThreadDetailResultName('renderer_main','cat2') : 0.5, 146 (timeline.ThreadDetailResultName('renderer_main','cat1'), 'ms', 9.5),
147 timeline.ThreadDetailResultName('renderer_main','idle') : 0 147 (timeline.ThreadDetailResultName('renderer_main','cat2'), 'ms', 0.5),
148 } 148 (timeline.ThreadDetailResultName('renderer_main','idle'), 'ms', 0)
149 for name, value in assert_results.iteritems(): 149 ]
150 results.AssertHasPageSpecificScalarValue(name, 'ms', value) 150 for name, unit, value in assert_results:
151 results.AssertHasPageSpecificScalarValue(name, unit, value)
151 152
152 def testOverheadIsRemoved(self): 153 def testOverheadIsRemoved(self):
153 model = model_module.TimelineModel() 154 model = model_module.TimelineModel()
154 renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2) 155 renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
155 renderer_main.name = 'CrRendererMain' 156 renderer_main.name = 'CrRendererMain'
156 157
157 # Create one frame swap. 158 # Create one frame swap.
158 cc_main = model.GetOrCreateProcess(1).GetOrCreateThread(3) 159 cc_main = model.GetOrCreateProcess(1).GetOrCreateThread(3)
159 cc_main.name = 'Compositor' 160 cc_main.name = 'Compositor'
160 cc_main.BeginSlice('cc_cat', timeline.FrameTraceName, 10, 10) 161 cc_main.BeginSlice('cc_cat', timeline.FrameTraceName, 10, 10)
(...skipping 14 matching lines...) Expand all
175 metric.details_to_report = timeline.ReportMainThreadOnly 176 metric.details_to_report = timeline.ReportMainThreadOnly
176 results = self.GetResults(metric, model, renderer_main.parent, 177 results = self.GetResults(metric, model, renderer_main.parent,
177 [_GetInteractionRecord(10, 30)]) 178 [_GetInteractionRecord(10, 30)])
178 179
179 # Test a couple specific results. 180 # Test a couple specific results.
180 assert_results = { 181 assert_results = {
181 timeline.ThreadCpuTimeResultName('renderer_main') : 9.0, 182 timeline.ThreadCpuTimeResultName('renderer_main') : 9.0,
182 } 183 }
183 for name, value in assert_results.iteritems(): 184 for name, value in assert_results.iteritems():
184 results.AssertHasPageSpecificScalarValue(name, 'ms', value) 185 results.AssertHasPageSpecificScalarValue(name, 'ms', value)
OLDNEW
« tools/perf/metrics/timeline.py ('K') | « tools/perf/metrics/timeline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698