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

Side by Side Diff: tracing/tracing/metrics/system_health/responsiveness_metric.html

Issue 2334233003: Merge NumericValue into Histogram (Closed)
Patch Set: fix rail_power_metric 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
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="/tracing/base/statistics.html"> 8 <link rel="import" href="/tracing/base/statistics.html">
9 <link rel="import" href="/tracing/metrics/metric_registry.html"> 9 <link rel="import" href="/tracing/metrics/metric_registry.html">
10 <link rel="import" href="/tracing/metrics/system_health/utils.html"> 10 <link rel="import" href="/tracing/metrics/system_health/utils.html">
11 <link rel="import" href="/tracing/model/user_model/animation_expectation.html"> 11 <link rel="import" href="/tracing/model/user_model/animation_expectation.html">
12 <link rel="import" href="/tracing/model/user_model/load_expectation.html"> 12 <link rel="import" href="/tracing/model/user_model/load_expectation.html">
13 <link rel="import" href="/tracing/model/user_model/response_expectation.html"> 13 <link rel="import" href="/tracing/model/user_model/response_expectation.html">
14 <link rel="import" href="/tracing/value/histogram.html"> 14 <link rel="import" href="/tracing/value/histogram.html">
15 <link rel="import" href="/tracing/value/value.html">
16 15
17 <script> 16 <script>
18 'use strict'; 17 'use strict';
19 18
20 tr.exportTo('tr.metrics.sh', function() { 19 tr.exportTo('tr.metrics.sh', function() {
21 // In the case of Response, Load, and DiscreteAnimation IRs, Responsiveness is 20 // In the case of Response, Load, and DiscreteAnimation IRs, Responsiveness is
22 // derived from the time between when the user thinks they begin an interation 21 // derived from the time between when the user thinks they begin an interation
23 // (expectedStart) and the time when the screen first changes to reflect the 22 // (expectedStart) and the time when the screen first changes to reflect the
24 // interaction (actualEnd). There may be a delay between expectedStart and 23 // interaction (actualEnd). There may be a delay between expectedStart and
25 // when chrome first starts processing the interaction (actualStart) if the 24 // when chrome first starts processing the interaction (actualStart) if the
(...skipping 27 matching lines...) Expand all
53 var absolute = true; 52 var absolute = true;
54 return tr.b.Statistics.timestampsDiscrepancy(frameTimestamps, absolute); 53 return tr.b.Statistics.timestampsDiscrepancy(frameTimestamps, absolute);
55 } 54 }
56 55
57 /** 56 /**
58 * @param {!tr.v.ValueSet} values 57 * @param {!tr.v.ValueSet} values
59 * @param {!tr.model.Model} model 58 * @param {!tr.model.Model} model
60 * @param {!Object=} opt_options 59 * @param {!Object=} opt_options
61 */ 60 */
62 function responsivenessMetric(values, model, opt_options) { 61 function responsivenessMetric(values, model, opt_options) {
63 var responseNumeric = new tr.v.Histogram( 62 var responseNumeric = new tr.v.Histogram('response latency',
64 tr.b.Unit.byName.timeDurationInMs_smallerIsBetter, 63 tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,
65 tr.v.HistogramBinBoundaries.createLinear(100, 1e3, 50)); 64 tr.v.HistogramBinBoundaries.createLinear(100, 1e3, 50));
66 var throughputNumeric = new tr.v.Histogram( 65 var throughputNumeric = new tr.v.Histogram('animation throughput',
67 tr.b.Unit.byName.unitlessNumber_biggerIsBetter, 66 tr.b.Unit.byName.unitlessNumber_biggerIsBetter,
68 tr.v.HistogramBinBoundaries.createLinear(10, 60, 10)); 67 tr.v.HistogramBinBoundaries.createLinear(10, 60, 10));
69 var frameTimeDiscrepancyNumeric = new tr.v.Histogram( 68 var frameTimeDiscrepancyNumeric = new tr.v.Histogram(
69 'animation frameTimeDiscrepancy',
70 tr.b.Unit.byName.timeDurationInMs_smallerIsBetter, 70 tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,
71 tr.v.HistogramBinBoundaries.createLinear(0, 1e3, 50). 71 tr.v.HistogramBinBoundaries.createLinear(0, 1e3, 50).
72 addExponentialBins(1e4, 10)); 72 addExponentialBins(1e4, 10));
73 var latencyNumeric = new tr.v.Histogram( 73 var latencyNumeric = new tr.v.Histogram('animation latency',
74 tr.b.Unit.byName.timeDurationInMs_smallerIsBetter, 74 tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,
75 tr.v.HistogramBinBoundaries.createLinear(0, 300, 60)); 75 tr.v.HistogramBinBoundaries.createLinear(0, 300, 60));
76 76
77 model.userModel.expectations.forEach(function(ue) { 77 model.userModel.expectations.forEach(function(ue) {
78 if (opt_options && opt_options.rangeOfInterest && 78 if (opt_options && opt_options.rangeOfInterest &&
79 !opt_options.rangeOfInterest.intersectsExplicitRangeInclusive( 79 !opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(
80 ue.start, ue.end)) 80 ue.start, ue.end))
81 return; 81 return;
82 82
83 var sampleDiagnosticMap = tr.v.d.DiagnosticMap.fromObject( 83 var sampleDiagnosticMap = tr.v.d.DiagnosticMap.fromObject(
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 latencyNumeric 129 latencyNumeric
130 ].forEach(function(numeric) { 130 ].forEach(function(numeric) {
131 numeric.customizeSummaryOptions({ 131 numeric.customizeSummaryOptions({
132 avg: true, 132 avg: true,
133 max: true, 133 max: true,
134 min: true, 134 min: true,
135 std: true 135 std: true
136 }); 136 });
137 }); 137 });
138 138
139 values.addValue(new tr.v.NumericValue( 139 values.addHistogram(responseNumeric);
140 'response latency', responseNumeric)); 140 values.addHistogram(throughputNumeric);
141 values.addValue(new tr.v.NumericValue( 141 values.addHistogram(frameTimeDiscrepancyNumeric);
142 'animation throughput', throughputNumeric)); 142 values.addHistogram(latencyNumeric);
143 values.addValue(new tr.v.NumericValue(
144 'animation frameTimeDiscrepancy',
145 frameTimeDiscrepancyNumeric));
146 values.addValue(new tr.v.NumericValue(
147 'animation latency', latencyNumeric));
148 } 143 }
149 144
150 tr.metrics.MetricRegistry.register(responsivenessMetric, { 145 tr.metrics.MetricRegistry.register(responsivenessMetric, {
151 supportsRangeOfInterest: true 146 supportsRangeOfInterest: true
152 }); 147 });
153 148
154 return { 149 return {
155 responsivenessMetric: responsivenessMetric, 150 responsivenessMetric: responsivenessMetric,
156 }; 151 };
157 }); 152 });
158 </script> 153 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698