| Index: Source/devtools/front_end/sdk/TracingModel.js
|
| diff --git a/Source/devtools/front_end/sdk/TracingModel.js b/Source/devtools/front_end/sdk/TracingModel.js
|
| index f05b1aa643a242467eb29d5f246f14e38128965b..a41df029a8ac517ed2f784b3bd6c33559cb6f898 100644
|
| --- a/Source/devtools/front_end/sdk/TracingModel.js
|
| +++ b/Source/devtools/front_end/sdk/TracingModel.js
|
| @@ -9,16 +9,17 @@
|
| * @extends {WebInspector.Object}
|
| * @implements {WebInspector.TargetManager.Observer}
|
| */
|
| -WebInspector.TracingModel = function()
|
| +WebInspector.TracingManager = function()
|
| {
|
| - this.reset();
|
| + WebInspector.Object.call(this);
|
| this._active = false;
|
| WebInspector.targetManager.observeTargets(this);
|
| }
|
|
|
| -WebInspector.TracingModel.Events = {
|
| +WebInspector.TracingManager.Events = {
|
| "BufferUsage": "BufferUsage",
|
| "TracingStarted": "TracingStarted",
|
| + "EventsCollected": "EventsCollected",
|
| "TracingStopped": "TracingStopped",
|
| "TracingComplete": "TracingComplete"
|
| }
|
| @@ -36,7 +37,106 @@ WebInspector.TracingModel.Events = {
|
| s: string
|
| }}
|
| */
|
| -WebInspector.TracingModel.EventPayload;
|
| +WebInspector.TracingManager.EventPayload;
|
| +
|
| +
|
| +WebInspector.TracingManager.prototype = {
|
| + /**
|
| + * @param {!WebInspector.Target} target
|
| + */
|
| + targetAdded: function(target)
|
| + {
|
| + if (this._target)
|
| + return;
|
| + this._target = target;
|
| + InspectorBackend.registerTracingDispatcher(new WebInspector.TracingDispatcher(this));
|
| + },
|
| +
|
| + /**
|
| + * @param {!WebInspector.Target} target
|
| + */
|
| + targetRemoved: function(target)
|
| + {
|
| + if (this._target !== target)
|
| + return;
|
| + delete this._target;
|
| + },
|
| +
|
| + /**
|
| + * @param {number} usage
|
| + */
|
| + _bufferUsage: function(usage)
|
| + {
|
| + this.dispatchEventToListeners(WebInspector.TracingManager.Events.BufferUsage, usage);
|
| + },
|
| +
|
| + /**
|
| + * @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
|
| + */
|
| + _eventsCollected: function(events)
|
| + {
|
| + this.dispatchEventToListeners(WebInspector.TracingManager.Events.EventsCollected, events);
|
| + },
|
| +
|
| + _tracingComplete: function()
|
| + {
|
| + this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingComplete);
|
| + },
|
| +
|
| + _tracingStarted: function()
|
| + {
|
| + if (this._active)
|
| + return;
|
| + this._active = true;
|
| + this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingStarted);
|
| + },
|
| +
|
| + /**
|
| + * @param {string} categoryFilter
|
| + * @param {string} options
|
| + * @param {function(?string)=} callback
|
| + */
|
| + start: function(categoryFilter, options, callback)
|
| + {
|
| + if (this._active)
|
| + return;
|
| + WebInspector.profilingLock().acquire();
|
| + this._shouldReleaseLock = true;
|
| + var bufferUsageReportingIntervalMs = 500;
|
| + TracingAgent.start(categoryFilter, options, bufferUsageReportingIntervalMs, callback);
|
| + this._tracingStarted();
|
| + this._active = true;
|
| + },
|
| +
|
| + stop: function()
|
| + {
|
| + if (!this._active)
|
| + return;
|
| + TracingAgent.end(this._onStop.bind(this));
|
| + if (this._shouldReleaseLock) {
|
| + this._shouldReleaseLock = false;
|
| + WebInspector.profilingLock().release();
|
| + }
|
| + },
|
| +
|
| + _onStop: function()
|
| + {
|
| + if (!this._active)
|
| + return;
|
| + this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingStopped);
|
| + this._active = false;
|
| + },
|
| +
|
| + __proto__: WebInspector.Object.prototype
|
| +}
|
| +
|
| +/**
|
| + * @constructor
|
| + */
|
| +WebInspector.TracingModel = function()
|
| +{
|
| + this.reset();
|
| +}
|
|
|
| /**
|
| * @enum {string}
|
| @@ -91,27 +191,6 @@ WebInspector.TracingModel.isAsyncPhase = function(phase)
|
|
|
| WebInspector.TracingModel.prototype = {
|
| /**
|
| - * @param {!WebInspector.Target} target
|
| - */
|
| - targetAdded: function(target)
|
| - {
|
| - if (this._target)
|
| - return;
|
| - this._target = target;
|
| - InspectorBackend.registerTracingDispatcher(new WebInspector.TracingDispatcher(this));
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Target} target
|
| - */
|
| - targetRemoved: function(target)
|
| - {
|
| - if (this._target !== target)
|
| - return;
|
| - delete this._target;
|
| - },
|
| -
|
| - /**
|
| * @return {!Array.<!WebInspector.TracingModel.Event>}
|
| */
|
| devtoolsPageMetadataEvents: function()
|
| @@ -128,32 +207,6 @@ WebInspector.TracingModel.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {string} categoryFilter
|
| - * @param {string} options
|
| - * @param {function(?string)=} callback
|
| - */
|
| - start: function(categoryFilter, options, callback)
|
| - {
|
| - WebInspector.profilingLock().acquire();
|
| - this._shouldReleaseLock = true;
|
| - this.reset();
|
| - var bufferUsageReportingIntervalMs = 500;
|
| - TracingAgent.start(categoryFilter, options, bufferUsageReportingIntervalMs, callback);
|
| - this._tracingStarted();
|
| - },
|
| -
|
| - stop: function()
|
| - {
|
| - if (!this._active)
|
| - return;
|
| - TracingAgent.end(this._onStop.bind(this));
|
| - if (this._shouldReleaseLock) {
|
| - this._shouldReleaseLock = false;
|
| - WebInspector.profilingLock().release();
|
| - }
|
| - },
|
| -
|
| - /**
|
| * @return {?string}
|
| */
|
| sessionId: function()
|
| @@ -162,60 +215,31 @@ WebInspector.TracingModel.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {!Array.<!WebInspector.TracingModel.EventPayload>} events
|
| + * @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
|
| */
|
| setEventsForTest: function(events)
|
| {
|
| - this._tracingStarted();
|
| - this._eventsCollected(events);
|
| - this._tracingComplete();
|
| - },
|
| -
|
| - /**
|
| - * @param {number} usage
|
| - */
|
| - _bufferUsage: function(usage)
|
| - {
|
| - this.dispatchEventToListeners(WebInspector.TracingModel.Events.BufferUsage, usage);
|
| + this.reset();
|
| + this.addEvents(events);
|
| + this.tracingComplete();
|
| },
|
|
|
| /**
|
| - * @param {!Array.<!WebInspector.TracingModel.EventPayload>} events
|
| + * @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
|
| */
|
| - _eventsCollected: function(events)
|
| + addEvents: function(events)
|
| {
|
| - this._onStop();
|
| for (var i = 0; i < events.length; ++i) {
|
| this._addEvent(events[i]);
|
| this._rawEvents.push(events[i]);
|
| }
|
| },
|
|
|
| - _tracingComplete: function()
|
| + tracingComplete: function()
|
| {
|
| this._processMetadataEvents();
|
| - this._active = false;
|
| for (var process in this._processById)
|
| this._processById[process]._tracingComplete(this._maximumRecordTime);
|
| - this.dispatchEventToListeners(WebInspector.TracingModel.Events.TracingComplete);
|
| - },
|
| -
|
| - _tracingStarted: function()
|
| - {
|
| - if (this._active)
|
| - return;
|
| - this.reset();
|
| - this._active = true;
|
| - this._sessionId = null;
|
| - this.dispatchEventToListeners(WebInspector.TracingModel.Events.TracingStarted);
|
| - },
|
| -
|
| - _onStop: function()
|
| - {
|
| - if (!this._active)
|
| - return;
|
| - this.dispatchEventToListeners(WebInspector.TracingModel.Events.TracingStopped);
|
| - this._active = false;
|
| },
|
|
|
| reset: function()
|
| @@ -230,7 +254,7 @@ WebInspector.TracingModel.prototype = {
|
| },
|
|
|
| /**
|
| - * @return {!Array.<!WebInspector.TracingModel.EventPayload>}
|
| + * @return {!Array.<!WebInspector.TracingManager.EventPayload>}
|
| */
|
| rawEvents: function()
|
| {
|
| @@ -238,7 +262,7 @@ WebInspector.TracingModel.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} payload
|
| + * @param {!WebInspector.TracingManager.EventPayload} payload
|
| */
|
| _addEvent: function(payload)
|
| {
|
| @@ -331,9 +355,7 @@ WebInspector.TracingModel.prototype = {
|
| sortedProcesses: function()
|
| {
|
| return WebInspector.TracingModel.NamedObject._sort(Object.values(this._processById));
|
| - },
|
| -
|
| - __proto__: WebInspector.Object.prototype
|
| + }
|
| }
|
|
|
|
|
| @@ -349,20 +371,20 @@ WebInspector.TracingModel.Loader = function(tracingModel)
|
|
|
| WebInspector.TracingModel.Loader.prototype = {
|
| /**
|
| - * @param {!Array.<!WebInspector.TracingModel.EventPayload>} events
|
| + * @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
|
| */
|
| loadNextChunk: function(events)
|
| {
|
| if (!this._firstChunkReceived) {
|
| - this._tracingModel._tracingStarted();
|
| + this._tracingModel.reset();
|
| this._firstChunkReceived = true;
|
| }
|
| - this._tracingModel._eventsCollected(events);
|
| + this._tracingModel.addEvents(events);
|
| },
|
|
|
| finish: function()
|
| {
|
| - this._tracingModel._tracingComplete();
|
| + this._tracingModel.tracingComplete();
|
| }
|
| }
|
|
|
| @@ -402,7 +424,7 @@ WebInspector.TracingModel.Event = function(category, name, phase, startTime, thr
|
| }
|
|
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} payload
|
| + * @param {!WebInspector.TracingManager.EventPayload} payload
|
| * @param {?WebInspector.TracingModel.Thread} thread
|
| * @return {!WebInspector.TracingModel.Event}
|
| */
|
| @@ -448,7 +470,7 @@ WebInspector.TracingModel.Event.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} payload
|
| + * @param {!WebInspector.TracingManager.EventPayload} payload
|
| */
|
| _complete: function(payload)
|
| {
|
| @@ -544,7 +566,7 @@ WebInspector.TracingModel.Process = function(id)
|
| this._setName("Process " + id);
|
| this._threads = {};
|
| this._objects = {};
|
| - /** @type {!Array.<!WebInspector.TracingModel.EventPayload>} */
|
| + /** @type {!Array.<!WebInspector.TracingManager.EventPayload>} */
|
| this._asyncEvents = [];
|
| /** @type {!Object.<string, ?Array.<!WebInspector.TracingModel.Event>>} */
|
| this._openAsyncEvents = [];
|
| @@ -566,7 +588,7 @@ WebInspector.TracingModel.Process.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} payload
|
| + * @param {!WebInspector.TracingManager.EventPayload} payload
|
| * @return {?WebInspector.TracingModel.Event} event
|
| */
|
| _addEvent: function(payload)
|
| @@ -590,8 +612,8 @@ WebInspector.TracingModel.Process.prototype = {
|
| _tracingComplete: function(lastEventTime)
|
| {
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} a
|
| - * @param {!WebInspector.TracingModel.EventPayload} b
|
| + * @param {!WebInspector.TracingManager.EventPayload} a
|
| + * @param {!WebInspector.TracingManager.EventPayload} b
|
| */
|
| function comparePayloadTimestamp(a, b)
|
| {
|
| @@ -611,7 +633,7 @@ WebInspector.TracingModel.Process.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} payload
|
| + * @param {!WebInspector.TracingManager.EventPayload} payload
|
| */
|
| _addAsyncEvent: function(payload)
|
| {
|
| @@ -713,7 +735,7 @@ WebInspector.TracingModel.Thread.prototype = {
|
| },
|
|
|
| /**
|
| - * @param {!WebInspector.TracingModel.EventPayload} payload
|
| + * @param {!WebInspector.TracingManager.EventPayload} payload
|
| * @return {?WebInspector.TracingModel.Event} event
|
| */
|
| _addEvent: function(payload)
|
| @@ -778,11 +800,11 @@ WebInspector.TracingModel.Thread.prototype = {
|
| /**
|
| * @constructor
|
| * @implements {TracingAgent.Dispatcher}
|
| - * @param {!WebInspector.TracingModel} tracingModel
|
| + * @param {!WebInspector.TracingManager} tracingManager
|
| */
|
| -WebInspector.TracingDispatcher = function(tracingModel)
|
| +WebInspector.TracingDispatcher = function(tracingManager)
|
| {
|
| - this._tracingModel = tracingModel;
|
| + this._tracingManager = tracingManager;
|
| }
|
|
|
| WebInspector.TracingDispatcher.prototype = {
|
| @@ -791,24 +813,24 @@ WebInspector.TracingDispatcher.prototype = {
|
| */
|
| bufferUsage: function(usage)
|
| {
|
| - this._tracingModel._bufferUsage(usage);
|
| + this._tracingManager._bufferUsage(usage);
|
| },
|
|
|
| /**
|
| - * @param {!Array.<!WebInspector.TracingModel.EventPayload>} data
|
| + * @param {!Array.<!WebInspector.TracingManager.EventPayload>} data
|
| */
|
| dataCollected: function(data)
|
| {
|
| - this._tracingModel._eventsCollected(data);
|
| + this._tracingManager._eventsCollected(data);
|
| },
|
|
|
| tracingComplete: function()
|
| {
|
| - this._tracingModel._tracingComplete();
|
| + this._tracingManager._tracingComplete();
|
| },
|
|
|
| started: function()
|
| {
|
| - this._tracingModel._tracingStarted();
|
| + this._tracingManager._tracingStarted();
|
| }
|
| }
|
|
|