| OLD | NEW |
| 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 Loading... |
| 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> |
| OLD | NEW |