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

Side by Side Diff: chrome/browser/resources/tracing/tracing_controller_tests.js

Issue 7555005: Moving the contents of chrome://gpu Profiling to chrome://tracing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 cr.define('tracing', function() {
5 var dataSets = [
6 {
7 name: 'big_trace',
8 events_url: './tests/big_trace.json'
9 },
10 {
11 name: 'trivial_trace',
12 events: [
13 {'name':'a','args':{},'pid':52,'ts':9524,'cat':'foo','tid':53,'ph':'B'},
14 {'name':'a','args':{},'pid':52,'ts':9560,'cat':'foo','tid':53,'ph':'E'},
15 {'name':'b','args':{},'pid':52,'ts':9629,'cat':'foo','tid':53,'ph':'B'},
16 {'name':'b','args':{},'pid':52,'ts':9631,'cat':'foo','tid':53,'ph':'E'}
17 ]
18 },
19 {
20 name: 'simple_trace',
21 events: [
22 {'cat':'PERF','pid':22630,'tid':22630,'ts':826,'ph':'B',
23 'name':'A long name that doesn't fit but is exceedingly informative',
24 'args':{}},
25 {'cat':'PERF','pid':22630,'tid':22630,'ts':827,'ph':'B',
26 'name':'Asub with a name that won't fit','args':{}},
27 {'cat':'PERF','pid':22630,'tid':22630,'ts':828,'ph':'E',
28 'name':'Asub','args':{}},
29 {'cat':'PERF','pid':22630,'tid':22630,'ts':829,'ph':'B',
30 'name':'Asub','args':{}},
31 {'cat':'PERF','pid':22630,'tid':22630,'ts':832,'ph':'E',
32 'name':'Asub','args':{}},
33 {'cat':'PERF','pid':22630,'tid':22630,'ts':833,'ph':'E',
34 'name':'','args':{}},
35
36 {'cat':'PERF','pid':22630,'tid':22630,'ts':835,'ph':'I',
37 'name':'I1','args':{}},
38 {'cat':'PERF','pid':22630,'tid':22630,'ts':837,'ph':'I',
39 'name':'I2','args':{}},
40
41 {'cat':'PERF','pid':22630,'tid':22630,'ts':840,'ph':'B',
42 'name':'A not as long a name','args':{}},
43 {'cat':'PERF','pid':22630,'tid':22630,'ts':848,'ph':'E',
44 'name':'A not as long a name','args':{}},
45
46 {'cat':'PERF','pid':22630,'tid':22630,'ts':850,'ph':'B',
47 'name':'B','args':{}},
48 {'cat':'PERF','pid':22630,'tid':22630,'ts':854,'ph':'E',
49 'name':'B','args':{}},
50
51 {'cat':'PERF','pid':22630,'tid':22631,'ts':827,'ph':'B',
52 'name':'A','args':{}},
53 {'cat':'PERF','pid':22630,'tid':22631,'ts':835,'ph':'I',
54 'name':'Immediate Three','args':{}},
55 {'cat':'PERF','pid':22630,'tid':22631,'ts':845,'ph':'I',
56 'name':'I4','args':{}},
57 {'cat':'PERF','pid':22630,'tid':22631,'ts':854,'ph':'E',
58 'name':'A','args':{}},
59
60 {'cat':'__metadata','pid':22630,'tid':22630,'ts':0,'ph':'M',
61 'name':'thread_name','args':{'name': 'threadA'}},
62 {'cat':'__metadata','pid':22630,'tid':22631,'ts':0,'ph':'M',
63 'name':'thread_name','args':{'name': 'threadB'}},
64 {'cat':'__metadata','pid':22630,'tid':22632,'ts':0,'ph':'M',
65 'name':'thread_name','args':{'name': 'threadC'}}
66 ]
67 },
68 {
69 name: 'nonnested_trace',
70 events: [
71 {'cat':'PERF','pid':22630,'tid':22630,'ts':826,'ph':'B',
72 'name':'A','args':{}},
73 {'cat':'PERF','pid':22630,'tid':22630,'ts':827,'ph':'B',
74 'name':'Asub','args':{}},
75 {'cat':'PERF','pid':22630,'tid':22630,'ts':829,'ph':'B',
76 'name':'NonNest','args':{'id':'1','ui-nest':'0'}},
77 {'cat':'PERF','pid':22630,'tid':22630,'ts':830,'ph':'B',
78 'name':'NonNest','args':{'id':'2','ui-nest':'0'}},
79 {'cat':'PERF','pid':22630,'tid':22630,'ts':831,'ph':'E',
80 'name':'Asub','args':{}},
81 {'cat':'PERF','pid':22630,'tid':22630,'ts':832,'ph':'E',
82 'name':'NonNest','args':{'id':'1','ui-nest':'0'}},
83 {'cat':'PERF','pid':22630,'tid':22630,'ts':833,'ph':'E',
84 'name':'NonNest','args':{'id':'2','ui-nest':'0'}},
85 {'cat':'PERF','pid':22630,'tid':22630,'ts':834,'ph':'E',
86 'name':'A','args':{}},
87
88 {'cat':'PERF','pid':22630,'tid':22631,'ts':827,'ph':'B',
89 'name':'A','args':{}},
90 {'cat':'PERF','pid':22630,'tid':22631,'ts':854,'ph':'E',
91 'name':'A','args':{}}
92 ]
93 },
94 {
95 name: 'tall_trace',
96 events: [
97 {'cat':'X','pid':30,'tid':30,'ts':826,'ph':'B','name':'A','args':{}},
98 {'cat':'X','pid':30,'tid':30,'ts':827,'ph':'B','name':'Asub','args':{}},
99 {'cat':'X','pid':30,'tid':30,'ts':828,'ph':'E','name':'Asub','args':{}},
100 {'cat':'X','pid':30,'tid':30,'ts':829,'ph':'B','name':'Asub','args':{}},
101 {'cat':'X','pid':30,'tid':30,'ts':832,'ph':'E','name':'Asub','args':{}},
102 {'cat':'X','pid':30,'tid':30,'ts':833,'ph':'E','name':'','args':{}},
103
104 {'cat':'X','pid':30,'tid':31,'ts':840,'ph':'B','name':'A','args':{}},
105 {'cat':'X','pid':30,'tid':31,'ts':848,'ph':'E','name':'A','args':{}},
106
107 {'cat':'X','pid':30,'tid':32,'ts':840,'ph':'B','name':'A','args':{}},
108 {'cat':'X','pid':30,'tid':32,'ts':848,'ph':'E','name':'A','args':{}},
109
110 {'cat':'X','pid':30,'tid':33,'ts':840,'ph':'B','name':'A','args':{}},
111 {'cat':'X','pid':30,'tid':33,'ts':848,'ph':'E','name':'A','args':{}},
112
113 {'cat':'X','pid':30,'tid':34,'ts':840,'ph':'B','name':'A','args':{}},
114 {'cat':'X','pid':30,'tid':34,'ts':848,'ph':'E','name':'A','args':{}},
115
116 {'cat':'X','pid':30,'tid':35,'ts':840,'ph':'B','name':'A','args':{}},
117 {'cat':'X','pid':30,'tid':35,'ts':848,'ph':'E','name':'A','args':{}},
118
119 {'cat':'X','pid':30,'tid':36,'ts':840,'ph':'B','name':'A','args':{}},
120 {'cat':'X','pid':30,'tid':36,'ts':848,'ph':'E','name':'A','args':{}},
121
122 {'cat':'X','pid':30,'tid':37,'ts':840,'ph':'B','name':'A','args':{}},
123 {'cat':'X','pid':30,'tid':37,'ts':848,'ph':'E','name':'A','args':{}},
124
125 {'cat':'X','pid':30,'tid':38,'ts':840,'ph':'B','name':'A','args':{}},
126 {'cat':'X','pid':30,'tid':38,'ts':848,'ph':'E','name':'A','args':{}},
127
128 {'cat':'X','pid':30,'tid':39,'ts':840,'ph':'B','name':'A','args':{}},
129 {'cat':'X','pid':30,'tid':39,'ts':848,'ph':'E','name':'A','args':{}},
130
131 {'cat':'X','pid':30,'tid':10,'ts':840,'ph':'B','name':'A','args':{}},
132 {'cat':'X','pid':30,'tid':10,'ts':848,'ph':'E','name':'A','args':{}},
133
134 {'cat':'X','pid':31,'tid':11,'ts':840,'ph':'B','name':'A','args':{}},
135 {'cat':'X','pid':31,'tid':11,'ts':848,'ph':'E','name':'A','args':{}},
136
137 {'cat':'X','pid':30,'tid':12,'ts':840,'ph':'B','name':'A','args':{}},
138 {'cat':'X','pid':30,'tid':12,'ts':848,'ph':'E','name':'A','args':{}},
139
140 {'cat':'X','pid':30,'tid':13,'ts':840,'ph':'B','name':'A','args':{}},
141 {'cat':'X','pid':30,'tid':13,'ts':848,'ph':'E','name':'A','args':{}},
142
143 {'cat':'X','pid':30,'tid':14,'ts':840,'ph':'B','name':'A','args':{}},
144 {'cat':'X','pid':30,'tid':14,'ts':848,'ph':'E','name':'A','args':{}},
145
146 {'cat':'X','pid':30,'tid':15,'ts':840,'ph':'B','name':'A','args':{}},
147 {'cat':'X','pid':30,'tid':15,'ts':848,'ph':'E','name':'A','args':{}},
148
149 {'cat':'__metadata','pid':30,'tid':14,'ts':0,'ph':'M',
150 'name':'thread_name','args':{'name': 'threadB'}},
151 {'cat':'__metadata','pid':30,'tid':15,'ts':0,'ph':'M',
152 'name':'thread_name','args':{'name': 'threadA'}}
153 ]
154 },
155 {
156 name: 'huge_trace',
157 events_url: './tests/huge_trace.json'
158 }
159 ];
160
161 // Create UI for controlling the test harness
162 var selectEl = document.createElement('select');
163 for (var i = 0; i < dataSets.length; ++i) {
164 var optionEl = document.createElement('option');
165 optionEl.textContent = dataSets[i].name;
166 optionEl.dataSet = dataSets[i];
167 selectEl.appendChild(optionEl);
168 }
169 selectEl.addEventListener('change', function() {
170 tracingController.beginTracing();
171 });
172 selectEl.addEventListener('keydown', function() {
173 window.setTimeout(function() {
174 tracingController.beginTracing();
175 }, 0);
176 });
177
178 var controlEl = document.createElement('div');
179 var textEl = document.createElement('span');
180 textEl.textContent = 'Trace:';
181 controlEl.appendChild(textEl);
182 controlEl.appendChild(selectEl);
183
184 document.querySelector('#debug-div').appendChild(controlEl,
185 document.body.firstChild);
186
187 return {
188 tracingControllerTestHarness : {
189 beginTracing: function() {
190 var dataSet = dataSets[selectEl.selectedIndex];
191 if (dataSet.events) {
192 window.setTimeout(function() {
193 tracingController.onTraceDataCollected(dataSet.events);
194 tracingController.endTracing();
195 window.setTimeout(function() {
196 tracingController.onEndTracingComplete();
197 },0);
198 }, 0);
199 } else {
200 var req = new XMLHttpRequest();
201 req.open('GET', './tracing/' + dataSet.events_url, true);
202 req.onreadystatechange = function (aEvt) {
203 if (req.readyState == 4) {
204 tracingController.endTracing();
205 window.setTimeout(function() {
206 if(req.status == 200) {
207 var resp = JSON.parse(req.responseText);
208 if (resp.traceEvents)
209 tracingController.onTraceDataCollected(resp.traceEvents);
210 else
211 tracingController.onTraceDataCollected(resp);
212 } else {
213 console.log('collection failed.');
214 }
215 tracingController.onEndTracingComplete();
216 }, 0);
217 }
218 };
219 req.send(null);
220 }
221 },
222
223 endTracing: function() {
224 }
225 }
226 };
227 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/tracing/tracing_controller.js ('k') | chrome/browser/ui/webui/chrome_web_ui_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698