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

Side by Side Diff: Source/devtools/front_end/timeline/TracingTimelineUIUtils.js

Issue 316553005: Timeline: add trace event to style/category mapping to TracingTimelineUIUtils (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: review comments addressed Created 6 years, 6 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
« no previous file with comments | « Source/devtools/front_end/timeline/TracingTimelineModel.js ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 /** 5 /**
6 */ 6 */
7 WebInspector.TracingTimelineUIUtils = function() { } 7 WebInspector.TracingTimelineUIUtils = function() { }
8 8
9 /** 9 /**
10 * @constructor
11 * @param {string} title
12 * @param {!WebInspector.TimelineCategory} category
13 */
14 WebInspector.TimelineRecordStyle = function(title, category)
15 {
16 this.title = title;
17 this.category = category;
18 }
19
20 /**
21 * @return {!Object.<string, !WebInspector.TimelineRecordStyle>}
22 */
23 WebInspector.TracingTimelineUIUtils._initEventStyles = function()
24 {
25 if (WebInspector.TracingTimelineUIUtils._eventStylesMap)
26 return WebInspector.TracingTimelineUIUtils._eventStylesMap;
27
28 var recordTypes = WebInspector.TracingTimelineModel.RecordType;
29 var categories = WebInspector.TimelineUIUtils.categories();
30
31 var eventStyles = {};
32 eventStyles[recordTypes.Program] = new WebInspector.TimelineRecordStyle(WebI nspector.UIString("Other"), categories["other"]);
33 eventStyles[recordTypes.EventDispatch] = new WebInspector.TimelineRecordStyl e(WebInspector.UIString("Event"), categories["scripting"]);
34 eventStyles[recordTypes.RequestMainThreadFrame] = new WebInspector.TimelineR ecordStyle(WebInspector.UIString("Request Main Thread Frame"), categories["rende ring"]);
35 eventStyles[recordTypes.BeginFrame] = new WebInspector.TimelineRecordStyle(W ebInspector.UIString("Frame Start"), categories["rendering"]);
36 eventStyles[recordTypes.BeginMainThreadFrame] = new WebInspector.TimelineRec ordStyle(WebInspector.UIString("Frame Start (main thread)"), categories["renderi ng"]);
37 eventStyles[recordTypes.DrawFrame] = new WebInspector.TimelineRecordStyle(We bInspector.UIString("Draw Frame"), categories["rendering"]);
38 eventStyles[recordTypes.ScheduleStyleRecalculation] = new WebInspector.Timel ineRecordStyle(WebInspector.UIString("Schedule Style Recalculation"), categories ["rendering"]);
39 eventStyles[recordTypes.RecalculateStyles] = new WebInspector.TimelineRecord Style(WebInspector.UIString("Recalculate Style"), categories["rendering"]);
40 eventStyles[recordTypes.InvalidateLayout] = new WebInspector.TimelineRecordS tyle(WebInspector.UIString("Invalidate Layout"), categories["rendering"]);
41 eventStyles[recordTypes.Layout] = new WebInspector.TimelineRecordStyle(WebIn spector.UIString("Layout"), categories["rendering"]);
42 eventStyles[recordTypes.PaintSetup] = new WebInspector.TimelineRecordStyle(W ebInspector.UIString("Paint Setup"), categories["painting"]);
43 eventStyles[recordTypes.Paint] = new WebInspector.TimelineRecordStyle(WebIns pector.UIString("Paint"), categories["painting"]);
44 eventStyles[recordTypes.Rasterize] = new WebInspector.TimelineRecordStyle(We bInspector.UIString("Paint"), categories["painting"]);
45 eventStyles[recordTypes.RasterTask] = new WebInspector.TimelineRecordStyle(W ebInspector.UIString("Paint"), categories["painting"]);
46 eventStyles[recordTypes.ScrollLayer] = new WebInspector.TimelineRecordStyle( WebInspector.UIString("Scroll"), categories["rendering"]);
47 eventStyles[recordTypes.CompositeLayers] = new WebInspector.TimelineRecordSt yle(WebInspector.UIString("Composite Layers"), categories["painting"]);
48 eventStyles[recordTypes.ParseHTML] = new WebInspector.TimelineRecordStyle(We bInspector.UIString("Parse HTML"), categories["loading"]);
49 eventStyles[recordTypes.TimerInstall] = new WebInspector.TimelineRecordStyle (WebInspector.UIString("Install Timer"), categories["scripting"]);
50 eventStyles[recordTypes.TimerRemove] = new WebInspector.TimelineRecordStyle( WebInspector.UIString("Remove Timer"), categories["scripting"]);
51 eventStyles[recordTypes.TimerFire] = new WebInspector.TimelineRecordStyle(We bInspector.UIString("Timer Fired"), categories["scripting"]);
52 eventStyles[recordTypes.XHRReadyStateChange] = new WebInspector.TimelineReco rdStyle(WebInspector.UIString("XHR Ready State Change"), categories["scripting"] );
53 eventStyles[recordTypes.XHRLoad] = new WebInspector.TimelineRecordStyle(WebI nspector.UIString("XHR Load"), categories["scripting"]);
54 eventStyles[recordTypes.EvaluateScript] = new WebInspector.TimelineRecordSty le(WebInspector.UIString("Evaluate Script"), categories["scripting"]);
55 eventStyles[recordTypes.MarkLoad] = new WebInspector.TimelineRecordStyle(Web Inspector.UIString("Load event"), categories["scripting"]);
56 eventStyles[recordTypes.MarkDOMContent] = new WebInspector.TimelineRecordSty le(WebInspector.UIString("DOMContentLoaded event"), categories["scripting"]);
57 eventStyles[recordTypes.MarkFirstPaint] = new WebInspector.TimelineRecordSty le(WebInspector.UIString("First paint"), categories["painting"]);
58 eventStyles[recordTypes.TimeStamp] = new WebInspector.TimelineRecordStyle(We bInspector.UIString("Stamp"), categories["scripting"]);
59 eventStyles[recordTypes.ConsoleTime] = new WebInspector.TimelineRecordStyle( WebInspector.UIString("Console Time"), categories["scripting"]);
60 eventStyles[recordTypes.ResourceSendRequest] = new WebInspector.TimelineReco rdStyle(WebInspector.UIString("Send Request"), categories["loading"]);
61 eventStyles[recordTypes.ResourceReceiveResponse] = new WebInspector.Timeline RecordStyle(WebInspector.UIString("Receive Response"), categories["loading"]);
62 eventStyles[recordTypes.ResourceFinish] = new WebInspector.TimelineRecordSty le(WebInspector.UIString("Finish Loading"), categories["loading"]);
63 eventStyles[recordTypes.ResourceReceivedData] = new WebInspector.TimelineRec ordStyle(WebInspector.UIString("Receive Data"), categories["loading"]);
64 eventStyles[recordTypes.FunctionCall] = new WebInspector.TimelineRecordStyle (WebInspector.UIString("Function Call"), categories["scripting"]);
65 eventStyles[recordTypes.GCEvent] = new WebInspector.TimelineRecordStyle(WebI nspector.UIString("GC Event"), categories["scripting"]);
66 eventStyles[recordTypes.JSFrame] = new WebInspector.TimelineRecordStyle(WebI nspector.UIString("JS Frame"), categories["scripting"]);
67 eventStyles[recordTypes.RequestAnimationFrame] = new WebInspector.TimelineRe cordStyle(WebInspector.UIString("Request Animation Frame"), categories["scriptin g"]);
68 eventStyles[recordTypes.CancelAnimationFrame] = new WebInspector.TimelineRec ordStyle(WebInspector.UIString("Cancel Animation Frame"), categories["scripting" ]);
69 eventStyles[recordTypes.FireAnimationFrame] = new WebInspector.TimelineRecor dStyle(WebInspector.UIString("Animation Frame Fired"), categories["scripting"]);
70 eventStyles[recordTypes.WebSocketCreate] = new WebInspector.TimelineRecordSt yle(WebInspector.UIString("Create WebSocket"), categories["scripting"]);
71 eventStyles[recordTypes.WebSocketSendHandshakeRequest] = new WebInspector.Ti melineRecordStyle(WebInspector.UIString("Send WebSocket Handshake"), categories[ "scripting"]);
72 eventStyles[recordTypes.WebSocketReceiveHandshakeResponse] = new WebInspecto r.TimelineRecordStyle(WebInspector.UIString("Receive WebSocket Handshake"), cate gories["scripting"]);
73 eventStyles[recordTypes.WebSocketDestroy] = new WebInspector.TimelineRecordS tyle(WebInspector.UIString("Destroy WebSocket"), categories["scripting"]);
74 eventStyles[recordTypes.EmbedderCallback] = new WebInspector.TimelineRecordS tyle(WebInspector.UIString("Embedder Callback"), categories["scripting"]);
75 eventStyles[recordTypes.DecodeImage] = new WebInspector.TimelineRecordStyle( WebInspector.UIString("Image Decode"), categories["painting"]);
76 eventStyles[recordTypes.ResizeImage] = new WebInspector.TimelineRecordStyle( WebInspector.UIString("Image Resize"), categories["painting"]);
77
78 WebInspector.TracingTimelineUIUtils._eventStylesMap = eventStyles;
79 return eventStyles;
80 }
81
82 /**
83 * @param {!WebInspector.TracingModel.Event} event
84 * @return {!{title: string, category: !WebInspector.TimelineCategory}}
85 */
86 WebInspector.TracingTimelineUIUtils.eventStyle = function(event)
87 {
88 return WebInspector.TracingTimelineUIUtils.styleForTraceEvent(event.name);
89 }
90
91 /**
92 * @param {string} name
93 * @return {!{title: string, category: !WebInspector.TimelineCategory}}
94 */
95 WebInspector.TracingTimelineUIUtils.styleForTraceEvent = function(name)
96 {
97 var eventStyles = WebInspector.TracingTimelineUIUtils._initEventStyles();
98 var result = eventStyles[name];
99 if (!result) {
100 result = new WebInspector.TimelineRecordStyle(WebInspector.UIString("Unk nown: %s", name), WebInspector.TimelineUIUtils.categories()["other"]);
101 eventStyles[name] = result;
102 }
103 return result;
104 }
105
106 /**
10 * @param {!WebInspector.TracingModel.Event} event 107 * @param {!WebInspector.TracingModel.Event} event
11 * @param {!WebInspector.Linkifier} linkifier 108 * @param {!WebInspector.Linkifier} linkifier
12 * @param {boolean} loadedFromFile 109 * @param {boolean} loadedFromFile
13 * @param {!WebInspector.Target} target 110 * @param {!WebInspector.Target} target
14 * @return {?Node} 111 * @return {?Node}
15 */ 112 */
16 WebInspector.TracingTimelineUIUtils.buildDetailsNodeForTraceEvent = function(eve nt, linkifier, loadedFromFile, target) 113 WebInspector.TracingTimelineUIUtils.buildDetailsNodeForTraceEvent = function(eve nt, linkifier, loadedFromFile, target)
17 { 114 {
18 var recordType = WebInspector.TracingTimelineModel.RecordType; 115 var recordType = WebInspector.TracingTimelineModel.RecordType;
19 116
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 * @param {?WebInspector.DOMNode} relatedNode 301 * @param {?WebInspector.DOMNode} relatedNode
205 * @param {boolean} loadedFromFile 302 * @param {boolean} loadedFromFile
206 * @param {!WebInspector.Target} target 303 * @param {!WebInspector.Target} target
207 * @return {!DocumentFragment} 304 * @return {!DocumentFragment}
208 */ 305 */
209 WebInspector.TracingTimelineUIUtils._buildTraceEventDetailsSynchronously = funct ion(event, model, linkifier, relatedNode, loadedFromFile, target) 306 WebInspector.TracingTimelineUIUtils._buildTraceEventDetailsSynchronously = funct ion(event, model, linkifier, relatedNode, loadedFromFile, target)
210 { 307 {
211 var fragment = document.createDocumentFragment(); 308 var fragment = document.createDocumentFragment();
212 var stats = WebInspector.TracingTimelineUIUtils._aggregatedStatsForTraceEven t(model, event); 309 var stats = WebInspector.TracingTimelineUIUtils._aggregatedStatsForTraceEven t(model, event);
213 var pieChart = stats.hasChildren ? 310 var pieChart = stats.hasChildren ?
214 WebInspector.TimelineUIUtils.generatePieChart(stats.aggregatedStats, Web Inspector.TimelineUIUtils.styleForTimelineEvent(event.name).category, event.self Time / 1000) : 311 WebInspector.TimelineUIUtils.generatePieChart(stats.aggregatedStats, Web Inspector.TracingTimelineUIUtils.styleForTraceEvent(event.name).category, event. selfTime / 1000) :
215 WebInspector.TimelineUIUtils.generatePieChart(stats.aggregatedStats); 312 WebInspector.TimelineUIUtils.generatePieChart(stats.aggregatedStats);
216 fragment.appendChild(pieChart); 313 fragment.appendChild(pieChart);
217 314
218 var recordTypes = WebInspector.TracingTimelineModel.RecordType; 315 var recordTypes = WebInspector.TracingTimelineModel.RecordType;
219 316
220 // The messages may vary per event.name; 317 // The messages may vary per event.name;
221 var callSiteStackTraceLabel; 318 var callSiteStackTraceLabel;
222 var callStackLabel; 319 var callStackLabel;
223 var relatedNodeLabel; 320 var relatedNodeLabel;
224 321
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 var endTime = event.endTime; 484 var endTime = event.endTime;
388 if (endTime) { 485 if (endTime) {
389 for (var i = index; i < events.length; i++) { 486 for (var i = index; i < events.length; i++) {
390 var nextEvent = events[i]; 487 var nextEvent = events[i];
391 if (nextEvent.startTime >= endTime) 488 if (nextEvent.startTime >= endTime)
392 break; 489 break;
393 if (!nextEvent.selfTime) 490 if (!nextEvent.selfTime)
394 continue; 491 continue;
395 if (i > index) 492 if (i > index)
396 hasChildren = true; 493 hasChildren = true;
397 var category = WebInspector.TimelineUIUtils.styleForTimelineEvent(ne xtEvent.name).category.name; 494 var category = WebInspector.TracingTimelineUIUtils.styleForTraceEven t(nextEvent.name).category.name;
398 aggregatedStats[category] = (aggregatedStats[category] || 0) + nextE vent.selfTime / 1000; 495 aggregatedStats[category] = (aggregatedStats[category] || 0) + nextE vent.selfTime / 1000;
399 } 496 }
400 } 497 }
401 return { aggregatedStats: aggregatedStats, hasChildren: hasChildren }; 498 return { aggregatedStats: aggregatedStats, hasChildren: hasChildren };
402 } 499 }
403 500
404 501
OLDNEW
« no previous file with comments | « Source/devtools/front_end/timeline/TracingTimelineModel.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698