| Index: perf_insights/perf_insights/mappers/scheduling/map_rendering_cost.html
|
| diff --git a/perf_insights/perf_insights/mappers/scheduling/map_rendering_cost.html b/perf_insights/perf_insights/mappers/scheduling/map_rendering_cost.html
|
| deleted file mode 100644
|
| index 118f5a990b63760a36242c694cc5b3f5c957e25a..0000000000000000000000000000000000000000
|
| --- a/perf_insights/perf_insights/mappers/scheduling/map_rendering_cost.html
|
| +++ /dev/null
|
| @@ -1,96 +0,0 @@
|
| -<!DOCTYPE html>
|
| -<!--
|
| -Copyright 2015 The Chromium Authors. All rights reserved.
|
| -Use of this source code is governed by a BSD-style license that can be
|
| -found in the LICENSE file.
|
| --->
|
| -
|
| -<link rel="import" href="/perf_insights/mre/function_handle.html">
|
| -<link rel="import" href="/tracing/model/helpers/chrome_browser_helper.html">
|
| -<link rel="import" href="/tracing/model/helpers/chrome_model_helper.html">
|
| -
|
| -<script>
|
| -'use strict';
|
| -
|
| -tr.exportTo('pie', function() {
|
| - function eventCost(event) {
|
| - if (event.cpuDuration !== undefined)
|
| - return event.cpuDuration;
|
| - return event.duration;
|
| - }
|
| -
|
| - // Computes the thread time spent in BeginMainFrame during the loading phase
|
| - // as a ratio of the overall main thread utilization during that time.
|
| - // See https://goo.gl/l7V5xg.
|
| - function mapRenderingCost(result, model) {
|
| - var modelHelper = model.getOrCreateHelper(
|
| - tr.model.helpers.ChromeModelHelper);
|
| - var browserHelper = modelHelper.browserHelper;
|
| - var rendererHelpers = modelHelper.rendererHelpers;
|
| -
|
| - if (!browserHelper || !rendererHelpers) {
|
| - // If we couldn't find both a browser and a renderer process, bail out.
|
| - result.addPair('renderingCost', null);
|
| - return;
|
| - }
|
| -
|
| - var loadingEvents = browserHelper.getLoadingEventsInRange(model.bounds);
|
| - var loadingDurations = new Array(loadingEvents.length);
|
| - var loadingTotalCost = new Array(loadingEvents.length);
|
| - var loadingBeginMainFrameCost = new Array(loadingEvents.length);
|
| - var loadingBeginMainFrameRelativeCost = new Array(loadingEvents.length);
|
| - var beginMainFrameCount = 0;
|
| - loadingEvents.forEach(function(loadingEvent, index) {
|
| - loadingDurations[index] = loadingEvent.duration;
|
| -
|
| - var totalCost = 0;
|
| - var beginMainFrameCost = 0;
|
| - for (var pid in rendererHelpers) {
|
| - var rendererHelper = rendererHelpers[pid];
|
| - var mainThread = rendererHelper.mainThread;
|
| - mainThread.iterateAllEvents(function(event) {
|
| - // Look for tasks executed by the scheduler. Note that this only
|
| - // includes slices that are *completely* inside the loading phase.
|
| - if (event.title !== 'TaskQueueManager::RunTask' ||
|
| - event.start < loadingEvent.start ||
|
| - event.start + event.duration >
|
| - loadingEvent.start + loadingEvent.duration) {
|
| - return;
|
| - }
|
| - totalCost += eventCost(event);
|
| -
|
| - var beginMainFrame =
|
| - event.findDescendentSlice('ThreadProxy::BeginMainFrame');
|
| - if (beginMainFrame) {
|
| - beginMainFrameCount++;
|
| - beginMainFrameCost += eventCost(beginMainFrame);
|
| - }
|
| - });
|
| - }
|
| -
|
| - loadingTotalCost[index] = totalCost;
|
| - loadingBeginMainFrameCost[index] = beginMainFrameCost;
|
| - loadingBeginMainFrameRelativeCost[index] = beginMainFrameCost / totalCost;
|
| - });
|
| -
|
| - if (loadingDurations.length === 0) {
|
| - result.addValue('renderingCost', null);
|
| - return;
|
| - }
|
| -
|
| - result.addPair('renderingCost', {
|
| - loadingDuration: loadingDurations,
|
| - loadingTotalCost: loadingTotalCost,
|
| - loadingBeginMainFrameCost: loadingBeginMainFrameCost,
|
| - loadingBeginMainFrameRelativeCost: loadingBeginMainFrameRelativeCost,
|
| - beginMainFramesPerLoad: beginMainFrameCount / loadingDurations.length
|
| - });
|
| - }
|
| -
|
| - pi.FunctionRegistry.register(mapRenderingCost);
|
| -
|
| - return {
|
| - mapRenderingCostForTest: mapRenderingCost
|
| - };
|
| -});
|
| -</script>
|
|
|