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

Unified Diff: perf_insights/perf_insights/mappers/task_info_map_function.html

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: perf_insights/perf_insights/mappers/task_info_map_function.html
diff --git a/perf_insights/perf_insights/mappers/task_info_map_function.html b/perf_insights/perf_insights/mappers/task_info_map_function.html
deleted file mode 100644
index 41246d4ce84685cfbecb60f26364f8f5c4c0feee..0000000000000000000000000000000000000000
--- a/perf_insights/perf_insights/mappers/task_info_map_function.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright (c) 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/mappers/thread_grouping.html">
-<link rel="import" href="/perf_insights/mre/function_handle.html">
-<link rel="import" href="/tracing/model/flow_event.html">
-<link rel="import" href="/tracing/model/slice.html">
-<link rel="import" href="/tracing/value/numeric.html">
-<link rel="import" href="/tracing/value/unit.html">
-
-<script>
-'use strict';
-
-tr.exportTo('pi.m', function() {
- var DURATION_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear(
- tr.v.Unit.byName.timeDurationInMs,
- tr.b.Range.fromExplicitRange(0, 250), 50);
-
- function taskInfoMapFunction(result, model) {
- var canonicalUrl = model.canonicalUrl;
- var threadGrouping = new pi.m.ThreadGrouping();
- threadGrouping.autoInitUsingHelpers(model);
- addTimeInQueue(result, canonicalUrl, model, threadGrouping);
- addTopLevelTasksDuration(result, canonicalUrl, model, threadGrouping);
- }
-
- function eatTrailingDigits(str) {
- return str && str.replace(/[\d/]*$/, '');
- }
-
- function histogramsToDict(dict) {
- for (var process in dict) {
- for (var thread in dict[process]) {
- dict[process][thread] = dict[process][thread].asDict();
- }
- }
- }
-
- function addTimeInQueue(result, canonicalUrl, model, threadGrouping) {
- var timeInQueue = {};
- model.flowEvents.forEach(function(flowEvent) {
- if (!flowEvent.endSlice instanceof tr.model.Slice)
- return;
- var thread = flowEvent.endSlice && flowEvent.endSlice.parentContainer;
- if (!thread)
- return;
- var process = thread.getProcess();
- if (!process)
- return;
- var threadName = eatTrailingDigits(thread.name) || 'Unknown';
- var processName = threadGrouping.getGroupNameForThread(thread);
- addToHistogram(timeInQueue, processName, threadName, flowEvent.duration,
- canonicalUrl);
- });
- histogramsToDict(timeInQueue);
- result.addPair('time_spent_in_queue', timeInQueue);
- }
-
- function addTopLevelTasksDuration(result, canonicalUrl, model,
- threadGrouping) {
- var timeInTask = {};
- var cpuTimeInTask = {};
- model.getAllThreads().forEach(function(thread) {
- var process = thread.getProcess();
- if (!process)
- return;
- var threadName = eatTrailingDigits(thread.name) || thread.tid;
- var processName = threadGrouping.getGroupNameForThread(thread);
- if (!thread.sliceGroup.length)
- return;
- thread.sliceGroup.slices.forEach(function(slice) {
- if (!isTopLevelTask(slice))
- return;
- addToHistogram(timeInTask, processName, threadName, slice.duration,
- canonicalUrl);
- addToHistogram(cpuTimeInTask, processName, threadName,
- slice.cpuDuration, canonicalUrl);
- });
- });
- histogramsToDict(timeInTask);
- result.addPair('time_spent_in_top_level_task', timeInTask);
- histogramsToDict(cpuTimeInTask);
- result.addPair('cpu_time_spent_in_top_level_task', cpuTimeInTask);
- }
-
- // A slice is top level if it's on the receiving end of a post task and no
- // slice above it is.
- function isTopLevelTask(slice) {
- if (!slice.inFlowEvents.length)
- return false;
- return !slice.parentSlice || !isTopLevelTask(slice.parentSlice);
- }
-
- function addToHistogram(dict, processName, threadName, value, url) {
- dict[processName] = dict[processName] || {};
- dict[processName][threadName] = dict[processName][threadName] ||
- DURATION_NUMERIC_BUILDER.build();
- dict[processName][threadName].add(value, url);
- }
-
- pi.FunctionRegistry.register(taskInfoMapFunction);
-
- // Exporting for tests.
- return {
- taskInfoMapFunctionForTest: taskInfoMapFunction
- };
-});
-</script>

Powered by Google App Engine
This is Rietveld 408576698