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

Side by Side Diff: trace_processor/experimental/mappers/task_info_map_function.html

Issue 2293533002: Refactor NumericBuilder to HistogramBinBoundaries. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: rebase Created 4 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
« no previous file with comments | « no previous file | trace_processor/experimental/mappers/trace_stats.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright (c) 2015 The Chromium Authors. All rights reserved. 3 Copyright (c) 2015 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 7
8 <link rel="import" href="/perf_insights/mappers/thread_grouping.html"> 8 <link rel="import" href="/perf_insights/mappers/thread_grouping.html">
9 <link rel="import" href="/perf_insights/mre/function_handle.html"> 9 <link rel="import" href="/perf_insights/mre/function_handle.html">
10 <link rel="import" href="/tracing/model/flow_event.html"> 10 <link rel="import" href="/tracing/model/flow_event.html">
11 <link rel="import" href="/tracing/model/slice.html"> 11 <link rel="import" href="/tracing/model/slice.html">
12 <link rel="import" href="/tracing/value/histogram.html"> 12 <link rel="import" href="/tracing/value/histogram.html">
13 <link rel="import" href="/tracing/value/unit.html"> 13 <link rel="import" href="/tracing/value/unit.html">
14 14
15 <script> 15 <script>
16 'use strict'; 16 'use strict';
17 17
18 tr.exportTo('pi.m', function() { 18 tr.exportTo('pi.m', function() {
19 var DURATION_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear( 19 var DURATION_BOUNDARIES = tr.v.HistogramBinBoundaries.createLinear(
20 tr.v.Unit.byName.timeDurationInMs, 20 0, 250, 50);
21 tr.b.Range.fromExplicitRange(0, 250), 50);
22 21
23 function taskInfoMapFunction(result, model) { 22 function taskInfoMapFunction(result, model) {
24 var canonicalUrl = model.canonicalUrl; 23 var canonicalUrl = model.canonicalUrl;
25 var threadGrouping = new pi.m.ThreadGrouping(); 24 var threadGrouping = new pi.m.ThreadGrouping();
26 threadGrouping.autoInitUsingHelpers(model); 25 threadGrouping.autoInitUsingHelpers(model);
27 addTimeInQueue(result, canonicalUrl, model, threadGrouping); 26 addTimeInQueue(result, canonicalUrl, model, threadGrouping);
28 addTopLevelTasksDuration(result, canonicalUrl, model, threadGrouping); 27 addTopLevelTasksDuration(result, canonicalUrl, model, threadGrouping);
29 } 28 }
30 29
31 function eatTrailingDigits(str) { 30 function eatTrailingDigits(str) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 // slice above it is. 90 // slice above it is.
92 function isTopLevelTask(slice) { 91 function isTopLevelTask(slice) {
93 if (!slice.inFlowEvents.length) 92 if (!slice.inFlowEvents.length)
94 return false; 93 return false;
95 return !slice.parentSlice || !isTopLevelTask(slice.parentSlice); 94 return !slice.parentSlice || !isTopLevelTask(slice.parentSlice);
96 } 95 }
97 96
98 function addToHistogram(dict, processName, threadName, value, url) { 97 function addToHistogram(dict, processName, threadName, value, url) {
99 dict[processName] = dict[processName] || {}; 98 dict[processName] = dict[processName] || {};
100 dict[processName][threadName] = dict[processName][threadName] || 99 dict[processName][threadName] = dict[processName][threadName] ||
101 DURATION_NUMERIC_BUILDER.build(); 100 new tr.v.Histogram(tr.v.Unit.byName.timeDurationInMs,
101 DURATION_BOUNDARIES);
102 dict[processName][threadName].add(value, url); 102 dict[processName][threadName].add(value, url);
103 } 103 }
104 104
105 pi.FunctionRegistry.register(taskInfoMapFunction); 105 pi.FunctionRegistry.register(taskInfoMapFunction);
106 106
107 // Exporting for tests. 107 // Exporting for tests.
108 return { 108 return {
109 taskInfoMapFunctionForTest: taskInfoMapFunction 109 taskInfoMapFunctionForTest: taskInfoMapFunction
110 }; 110 };
111 }); 111 });
112 </script> 112 </script>
OLDNEW
« no previous file with comments | « no previous file | trace_processor/experimental/mappers/trace_stats.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698