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

Side by Side Diff: tracing/tracing/metrics/system_health/responsiveness_metric.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
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">
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 var frameTimestamps = animationExpectation.frameEvents; 48 var frameTimestamps = animationExpectation.frameEvents;
49 frameTimestamps = frameTimestamps.toArray().map(function(event) { 49 frameTimestamps = frameTimestamps.toArray().map(function(event) {
50 return event.start; 50 return event.start;
51 }); 51 });
52 52
53 var absolute = true; 53 var absolute = true;
54 return tr.b.Statistics.timestampsDiscrepancy(frameTimestamps, absolute); 54 return tr.b.Statistics.timestampsDiscrepancy(frameTimestamps, absolute);
55 } 55 }
56 56
57 var RESPONSE_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear(
58 tr.v.Unit.byName.timeDurationInMs_smallerIsBetter,
59 tr.b.Range.fromExplicitRange(100, 1000), 90);
60
61 var THROUGHPUT_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear(
62 tr.v.Unit.byName.unitlessNumber_biggerIsBetter,
63 tr.b.Range.fromExplicitRange(10, 60), 10);
64
65 var DISCREPANCY_NUMERIC_BUILDER = new tr.v.NumericBuilder(
66 tr.v.Unit.byName.timeDurationInMs_smallerIsBetter, 0)
67 .addLinearBins(1000, 50) // 20ms step to 1s
68 .addExponentialBins(10000, 10);
69
70 var LATENCY_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear(
71 tr.v.Unit.byName.timeDurationInMs_smallerIsBetter,
72 tr.b.Range.fromExplicitRange(0, 300), 60);
73
74 /** 57 /**
75 * @param {!tr.v.ValueSet} values 58 * @param {!tr.v.ValueSet} values
76 * @param {!tr.model.Model} model 59 * @param {!tr.model.Model} model
77 * @param {!Object=} opt_options 60 * @param {!Object=} opt_options
78 */ 61 */
79 function responsivenessMetric(values, model, opt_options) { 62 function responsivenessMetric(values, model, opt_options) {
80 // TODO(benjhayden): Add categories to benchmark to support: 63 var responseNumeric = new tr.v.Histogram(
81 // tr.metrics.sh.loadingMetric(values, model); 64 tr.v.Unit.byName.timeDurationInMs_smallerIsBetter,
82 65 tr.v.HistogramBinBoundaries.createLinear(100, 1e3, 50));
83 var responseNumeric = RESPONSE_NUMERIC_BUILDER.build(); 66 var throughputNumeric = new tr.v.Histogram(
84 var throughputNumeric = THROUGHPUT_NUMERIC_BUILDER.build(); 67 tr.v.Unit.byName.unitlessNumber_biggerIsBetter,
85 var frameTimeDiscrepancyNumeric = DISCREPANCY_NUMERIC_BUILDER.build(); 68 tr.v.HistogramBinBoundaries.createLinear(10, 60, 10));
86 var latencyNumeric = LATENCY_NUMERIC_BUILDER.build(); 69 var frameTimeDiscrepancyNumeric = new tr.v.Histogram(
70 tr.v.Unit.byName.timeDurationInMs_smallerIsBetter,
71 tr.v.HistogramBinBoundaries.createLinear(0, 1e3, 50).
72 addExponentialBins(1e4, 10));
73 var latencyNumeric = new tr.v.Histogram(
74 tr.v.Unit.byName.timeDurationInMs_smallerIsBetter,
75 tr.v.HistogramBinBoundaries.createLinear(0, 300, 60));
87 76
88 model.userModel.expectations.forEach(function(ue) { 77 model.userModel.expectations.forEach(function(ue) {
89 if (opt_options && opt_options.rangeOfInterest && 78 if (opt_options && opt_options.rangeOfInterest &&
90 !opt_options.rangeOfInterest.intersectsExplicitRangeInclusive( 79 !opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(
91 ue.start, ue.end)) 80 ue.start, ue.end))
92 return; 81 return;
93 82
94 var sampleDiagnosticMap = tr.v.d.DiagnosticMap.fromObject( 83 var sampleDiagnosticMap = tr.v.d.DiagnosticMap.fromObject(
95 {relatedEvents: new tr.v.d.RelatedEventSet([ue])}); 84 {relatedEvents: new tr.v.d.RelatedEventSet([ue])});
96 85
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 149
161 tr.metrics.MetricRegistry.register(responsivenessMetric, { 150 tr.metrics.MetricRegistry.register(responsivenessMetric, {
162 supportsRangeOfInterest: true 151 supportsRangeOfInterest: true
163 }); 152 });
164 153
165 return { 154 return {
166 responsivenessMetric: responsivenessMetric, 155 responsivenessMetric: responsivenessMetric,
167 }; 156 };
168 }); 157 });
169 </script> 158 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698