Commit 2942def9 authored by yurys@chromium.org's avatar yurys@chromium.org

Add aggregated stats to selected trace event details

BUG=361045

Review URL: https://codereview.chromium.org/305623007

git-svn-id: svn://svn.chromium.org/blink/trunk@174993 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 414e7c87
......@@ -737,6 +737,9 @@ WebInspector.TimelineUIUtils.buildTraceEventDetails = function(event, model, lin
WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(event, model, linkifier, imagePreviewElement, relatedNode, loadedFromFile, bindings, target)
{
var fragment = document.createDocumentFragment();
var stats = WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent(model, event);
fragment.appendChild(WebInspector.TimelineUIUtils.generatePieChart(stats));
var recordTypes = WebInspector.TimelineModel.RecordType;
// The messages may vary per event.name;
......@@ -882,6 +885,40 @@ WebInspector.TimelineUIUtils._buildTraceEventDetailsSynchronously = function(eve
return fragment;
}
/**
* @param {!WebInspector.TracingModel} model
* @param {!WebInspector.TracingModel.Event} event
* @return {!Object}
*/
WebInspector.TimelineUIUtils._aggregatedStatsForTraceEvent = function(model, event)
{
var events = model.inspectedTargetEvents();
/**
* @param {number} startTime
* @param {!WebInspector.TracingModel.Event} e
* @return {number}
*/
function eventComparator(startTime, e)
{
return startTime - e.startTime;
}
var index = events.binaryIndexOf(event.startTime, eventComparator);
var aggregatedStats = {};
var endTime = event.endTime;
if (!endTime)
return aggregatedStats;
for (; index < events.length; index++) {
var nextEvent = events[index];
if (nextEvent.startTime > endTime)
break;
if (!nextEvent.selfTime)
continue;
var category = WebInspector.TimelineUIUtils.styleForTimelineEvent(nextEvent.name).category.name;
aggregatedStats[category] = (aggregatedStats[category] || 0) + nextEvent.selfTime;
}
return aggregatedStats;
}
/**
* @param {!Array.<number>} quad
* @return {number}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment