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

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

Issue 142033002: Telemetry: Use cc frames and fix bots. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 11 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/metrics/timeline.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 timeline 7 from metrics import timeline
8 from telemetry.core.timeline import model as model_module 8 from telemetry.core.timeline import model as model_module
9 from telemetry.page import page as page_module 9 from telemetry.page import page as page_module
10 from telemetry.page import page_measurement_results 10 from telemetry.page import page_measurement_results
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 tab = None 70 tab = None
71 metric.AddResults(tab, results) 71 metric.AddResults(tab, results)
72 return results 72 return results
73 73
74 def testBasic(self): 74 def testBasic(self):
75 model = model_module.TimelineModel() 75 model = model_module.TimelineModel()
76 renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2) 76 renderer_main = model.GetOrCreateProcess(1).GetOrCreateThread(2)
77 renderer_main.name = 'CrRendererMain' 77 renderer_main.name = 'CrRendererMain'
78 78
79 # Create two frame swaps (Results times should be divided by two) 79 # Create two frame swaps (Results times should be divided by two)
80 gpu_main = model.GetOrCreateProcess(1).GetOrCreateThread(3) 80 cc_main = model.GetOrCreateProcess(1).GetOrCreateThread(3)
81 gpu_main.name = 'CrGpuMain' 81 cc_main.name = 'Compositor'
82 gpu_main.BeginSlice('gpucat', ':RealSwapBuffers', 10, 10) 82 cc_main.BeginSlice('cc_cat', timeline.CompositorFrameTraceName, 10, 10)
83 gpu_main.EndSlice(11, 11) 83 cc_main.EndSlice(11, 11)
84 gpu_main.BeginSlice('gpucat', ':RealSwapBuffers', 12, 12) 84 cc_main.BeginSlice('cc_cat', timeline.CompositorFrameTraceName, 12, 12)
85 gpu_main.EndSlice(13, 13) 85 cc_main.EndSlice(13, 13)
86 86
87 # [ X ] 87 # [ X ]
88 # [ Y ] 88 # [ Y ]
89 renderer_main.BeginSlice('cat1', 'X', 10, 0) 89 renderer_main.BeginSlice('cat1', 'X', 10, 0)
90 renderer_main.BeginSlice('cat2', 'Y', 15, 5) 90 renderer_main.BeginSlice('cat2', 'Y', 15, 5)
91 renderer_main.EndSlice(16, 0.5) 91 renderer_main.EndSlice(16, 0.5)
92 renderer_main.EndSlice(30, 19.5) 92 renderer_main.EndSlice(30, 19.5)
93 model.FinalizeImport() 93 model.FinalizeImport()
94 94
95 metric = timeline.ThreadTimesTimelineMetric() 95 metric = timeline.ThreadTimesTimelineMetric()
96 metric.details_to_report = timeline.MainThread 96 metric.details_to_report = timeline.MainThread
97 results = self.GetResultsForModel(metric, model) 97 results = self.GetResultsForModel(metric, model)
98 98
99 # Test that all categories exist 99 # Test that all categories exist
100 for name in timeline.TimelineThreadCategories.values(): 100 for name in timeline.TimelineThreadCategories.values():
101 results.GetPageSpecificValueNamed(timeline.ThreadTimeResultName(name)) 101 results.GetPageSpecificValueNamed(timeline.ThreadTimeResultName(name))
102 results.GetPageSpecificValueNamed(timeline.ThreadCpuTimeResultName(name)) 102 results.GetPageSpecificValueNamed(timeline.ThreadCpuTimeResultName(name))
103 103
104 # Test a couple specific results. 104 # Test a couple specific results.
105 assert_results = { 105 assert_results = {
106 timeline.ThreadTimeResultName('renderer_main') : 10, 106 timeline.ThreadTimeResultName('renderer_main') : 10,
107 timeline.ThreadDetailResultName('renderer_main','cat1') : 9.5, 107 timeline.ThreadDetailResultName('renderer_main','cat1') : 9.5,
108 timeline.ThreadDetailResultName('renderer_main','cat2') : 0.5, 108 timeline.ThreadDetailResultName('renderer_main','cat2') : 0.5,
109 timeline.ThreadDetailResultName('renderer_main','idle') : 0 109 timeline.ThreadDetailResultName('renderer_main','idle') : 0
110 } 110 }
111 for name, value in assert_results.iteritems(): 111 for name, value in assert_results.iteritems():
112 results.AssertHasPageSpecificScalarValue(name, 'ms', value) 112 results.AssertHasPageSpecificScalarValue(name, 'ms', value)
OLDNEW
« no previous file with comments | « tools/perf/metrics/timeline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698