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