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

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

Issue 552323002: DevTools: log worker thread ids on the main thread when Timeline recording is enabled (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 3 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
1 /* 1 /*
2 * Copyright 2014 The Chromium Authors. All rights reserved. 2 * Copyright 2014 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 /** 7 /**
8 * @constructor 8 * @constructor
9 */ 9 */
10 WebInspector.TracingModel = function() 10 WebInspector.TracingModel = function()
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 } 43 }
44 44
45 WebInspector.TracingModel.DevToolsMetadataEventCategory = "disabled-by-default-d evtools.timeline"; 45 WebInspector.TracingModel.DevToolsMetadataEventCategory = "disabled-by-default-d evtools.timeline";
46 46
47 WebInspector.TracingModel.ConsoleEventCategory = "blink.console"; 47 WebInspector.TracingModel.ConsoleEventCategory = "blink.console";
48 48
49 WebInspector.TracingModel.FrameLifecycleEventCategory = "cc,devtools"; 49 WebInspector.TracingModel.FrameLifecycleEventCategory = "cc,devtools";
50 50
51 WebInspector.TracingModel.DevToolsMetadataEvent = { 51 WebInspector.TracingModel.DevToolsMetadataEvent = {
52 TracingStartedInPage: "TracingStartedInPage", 52 TracingStartedInPage: "TracingStartedInPage",
53 TracingStartedInWorker: "TracingStartedInWorker", 53 TracingSessionIdForWorker: "TracingSessionIdForWorker",
54 }; 54 };
55 55
56 /** 56 /**
57 * @param {string} phase 57 * @param {string} phase
58 * @return {boolean} 58 * @return {boolean}
59 */ 59 */
60 WebInspector.TracingModel.isAsyncPhase = function(phase) 60 WebInspector.TracingModel.isAsyncPhase = function(phase)
61 { 61 {
62 return phase === WebInspector.TracingModel.Phase.AsyncBegin || phase === Web Inspector.TracingModel.Phase.AsyncEnd || 62 return phase === WebInspector.TracingModel.Phase.AsyncBegin || phase === Web Inspector.TracingModel.Phase.AsyncEnd ||
63 phase === WebInspector.TracingModel.Phase.AsyncStepInto || phase === Web Inspector.TracingModel.Phase.AsyncStepPast; 63 phase === WebInspector.TracingModel.Phase.AsyncStepInto || phase === Web Inspector.TracingModel.Phase.AsyncStepPast;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 // so there's a chance we're getting records from the past. 151 // so there's a chance we're getting records from the past.
152 if (timestamp && (!this._minimumRecordTime || timestamp < this._mini mumRecordTime)) 152 if (timestamp && (!this._minimumRecordTime || timestamp < this._mini mumRecordTime))
153 this._minimumRecordTime = timestamp; 153 this._minimumRecordTime = timestamp;
154 var endTimeStamp = (payload.ts + (payload.dur || 0)) / 1000; 154 var endTimeStamp = (payload.ts + (payload.dur || 0)) / 1000;
155 this._maximumRecordTime = Math.max(this._maximumRecordTime, endTimeS tamp); 155 this._maximumRecordTime = Math.max(this._maximumRecordTime, endTimeS tamp);
156 var event = process._addEvent(payload); 156 var event = process._addEvent(payload);
157 if (event && event.name === WebInspector.TracingModel.DevToolsMetada taEvent.TracingStartedInPage && 157 if (event && event.name === WebInspector.TracingModel.DevToolsMetada taEvent.TracingStartedInPage &&
158 event.category === WebInspector.TracingModel.DevToolsMetadataEve ntCategory) { 158 event.category === WebInspector.TracingModel.DevToolsMetadataEve ntCategory) {
159 this._devtoolsPageMetadataEvents.push(event); 159 this._devtoolsPageMetadataEvents.push(event);
160 } 160 }
161 if (event && event.name === WebInspector.TracingModel.DevToolsMetada taEvent.TracingStartedInWorker && 161 if (event && event.name === WebInspector.TracingModel.DevToolsMetada taEvent.TracingSessionIdForWorker &&
162 event.category === WebInspector.TracingModel.DevToolsMetadataEve ntCategory) { 162 event.category === WebInspector.TracingModel.DevToolsMetadataEve ntCategory) {
163 this._devtoolsWorkerMetadataEvents.push(event); 163 this._devtoolsWorkerMetadataEvents.push(event);
164 } 164 }
165 return; 165 return;
166 } 166 }
167 switch (payload.name) { 167 switch (payload.name) {
168 case WebInspector.TracingModel.MetadataEvent.ProcessSortIndex: 168 case WebInspector.TracingModel.MetadataEvent.ProcessSortIndex:
169 process._setSortIndex(payload.args["sort_index"]); 169 process._setSortIndex(payload.args["sort_index"]);
170 break; 170 break;
171 case WebInspector.TracingModel.MetadataEvent.ProcessName: 171 case WebInspector.TracingModel.MetadataEvent.ProcessName:
(...skipping 14 matching lines...) Expand all
186 if (!this._devtoolsPageMetadataEvents.length) { 186 if (!this._devtoolsPageMetadataEvents.length) {
187 WebInspector.console.error(WebInspector.TracingModel.DevToolsMetadat aEvent.TracingStartedInPage + " event not found."); 187 WebInspector.console.error(WebInspector.TracingModel.DevToolsMetadat aEvent.TracingStartedInPage + " event not found.");
188 return; 188 return;
189 } 189 }
190 var sessionId = this._devtoolsPageMetadataEvents[0].args["sessionId"]; 190 var sessionId = this._devtoolsPageMetadataEvents[0].args["sessionId"];
191 this._sessionId = sessionId; 191 this._sessionId = sessionId;
192 192
193 var mismatchingIds = {}; 193 var mismatchingIds = {};
194 function checkSessionId(event) 194 function checkSessionId(event)
195 { 195 {
196 var id = event.args["sessionId"]; 196 var args = event.args;
197 // FIXME: put sessionId into args["data"] for TracingStartedInPage e vent.
198 if (args["data"])
199 args = args["data"];
200 var id = args["sessionId"];
197 if (id === sessionId) 201 if (id === sessionId)
198 return true; 202 return true;
199 mismatchingIds[id] = true; 203 mismatchingIds[id] = true;
200 return false; 204 return false;
201 } 205 }
202 this._devtoolsPageMetadataEvents = this._devtoolsPageMetadataEvents.filt er(checkSessionId); 206 this._devtoolsPageMetadataEvents = this._devtoolsPageMetadataEvents.filt er(checkSessionId);
203 this._devtoolsWorkerMetadataEvents = this._devtoolsWorkerMetadataEvents. filter(checkSessionId); 207 this._devtoolsWorkerMetadataEvents = this._devtoolsWorkerMetadataEvents. filter(checkSessionId);
204 208
205 var idList = Object.keys(mismatchingIds); 209 var idList = Object.keys(mismatchingIds);
206 if (idList.length) 210 if (idList.length)
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 * @param {!WebInspector.TracingModel.Process} process 590 * @param {!WebInspector.TracingModel.Process} process
587 * @param {number} id 591 * @param {number} id
588 */ 592 */
589 WebInspector.TracingModel.Thread = function(process, id) 593 WebInspector.TracingModel.Thread = function(process, id)
590 { 594 {
591 WebInspector.TracingModel.NamedObject.call(this); 595 WebInspector.TracingModel.NamedObject.call(this);
592 this._process = process; 596 this._process = process;
593 this._setName("Thread " + id); 597 this._setName("Thread " + id);
594 this._events = []; 598 this._events = [];
595 this._asyncEvents = []; 599 this._asyncEvents = [];
600 this._id = id;
596 601
597 this._stack = []; 602 this._stack = [];
598 } 603 }
599 604
600 WebInspector.TracingModel.Thread.prototype = { 605 WebInspector.TracingModel.Thread.prototype = {
601 606
602 /** 607 /**
603 * @return {?WebInspector.Target} 608 * @return {?WebInspector.Target}
604 */ 609 */
605 target: function() 610 target: function()
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 642
638 /** 643 /**
639 * @param {!Array.<!WebInspector.TracingModel.Event>} eventSteps 644 * @param {!Array.<!WebInspector.TracingModel.Event>} eventSteps
640 */ 645 */
641 _addAsyncEventSteps: function(eventSteps) 646 _addAsyncEventSteps: function(eventSteps)
642 { 647 {
643 this._asyncEvents.push(eventSteps); 648 this._asyncEvents.push(eventSteps);
644 }, 649 },
645 650
646 /** 651 /**
652 * @return {number}
653 */
654 id: function()
655 {
656 return this._id;
657 },
658
659 /**
647 * @return {!WebInspector.TracingModel.Process} 660 * @return {!WebInspector.TracingModel.Process}
648 */ 661 */
649 process: function() 662 process: function()
650 { 663 {
651 return this._process; 664 return this._process;
652 }, 665 },
653 666
654 /** 667 /**
655 * @return {!Array.<!WebInspector.TracingModel.Event>} 668 * @return {!Array.<!WebInspector.TracingModel.Event>}
656 */ 669 */
657 events: function() 670 events: function()
658 { 671 {
659 return this._events; 672 return this._events;
660 }, 673 },
661 674
662 /** 675 /**
663 * @return {!Array.<!WebInspector.TracingModel.Event>} 676 * @return {!Array.<!WebInspector.TracingModel.Event>}
664 */ 677 */
665 asyncEvents: function() 678 asyncEvents: function()
666 { 679 {
667 return this._asyncEvents; 680 return this._asyncEvents;
668 }, 681 },
669 682
670 __proto__: WebInspector.TracingModel.NamedObject.prototype 683 __proto__: WebInspector.TracingModel.NamedObject.prototype
671 } 684 }
OLDNEW
« no previous file with comments | « Source/core/workers/WorkerThread.cpp ('k') | Source/devtools/front_end/timeline/TracingTimelineModel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698