OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright 2016 The Chromium Authors. All rights reserved. | 3 Copyright 2016 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/core/test_utils.html"> | 8 <link rel="import" href="/tracing/core/test_utils.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/value/histogram.html"> | 10 <link rel="import" href="/tracing/value/histogram.html"> |
11 | 11 |
12 <script> | 12 <script> |
13 'use strict'; | 13 'use strict'; |
14 | 14 |
15 tr.b.unittest.testSuite(function() { | 15 tr.b.unittest.testSuite(function() { |
16 test('FindMetricByName', function() { | 16 test('FindMetricByName', function() { |
17 function sampleMetricA(values, model) { | 17 function sampleMetricA(values, model) { |
18 var n1 = new tr.v.Histogram('foo', tr.b.Unit.byName.count); | 18 var n1 = new tr.v.Histogram('foo', tr.b.Unit.byName.count); |
19 n1.addSample(1); | 19 n1.addSample(1); |
20 values.addHistogram(n1); | 20 values.addHistogram(n1); |
21 } | 21 } |
22 tr.metrics.MetricRegistry.register(sampleMetricA); | 22 tr.metrics.MetricRegistry.register(sampleMetricA, { |
| 23 histogramNames: new Set([]), |
| 24 }); |
23 | 25 |
24 function sampleMetricB(values, model) { | 26 function sampleMetricB(values, model) { |
25 var n1 = new tr.v.Histogram('foo', tr.b.Unit.byName.count); | 27 var n1 = new tr.v.Histogram('foo', tr.b.Unit.byName.count); |
26 var n2 = new tr.v.Histogram('bar', tr.b.Unit.byName.count); | 28 var n2 = new tr.v.Histogram('bar', tr.b.Unit.byName.count); |
27 n1.addSample(1); | 29 n1.addSample(1); |
28 n2.addSample(2); | 30 n2.addSample(2); |
29 values.addHistogram(n1); | 31 values.addHistogram(n1); |
30 values.addHistogram(n2); | 32 values.addHistogram(n2); |
31 } | 33 } |
32 tr.metrics.MetricRegistry.register(sampleMetricB); | 34 tr.metrics.MetricRegistry.register(sampleMetricB, { |
| 35 histogramNames: new Set([]), |
| 36 }); |
33 | 37 |
34 function sampleMetricC(values, model) { | 38 function sampleMetricC(values, model) { |
35 var n1 = new tr.v.Histogram('foo', tr.b.Unit.byName.count); | 39 var n1 = new tr.v.Histogram('foo', tr.b.Unit.byName.count); |
36 var n2 = new tr.v.Histogram('bar', tr.b.Unit.byName.count); | 40 var n2 = new tr.v.Histogram('bar', tr.b.Unit.byName.count); |
37 var n3 = new tr.v.Histogram('baz', tr.b.Unit.byName.count); | 41 var n3 = new tr.v.Histogram('baz', tr.b.Unit.byName.count); |
38 n1.addSample(1); | 42 n1.addSample(1); |
39 n2.addSample(2); | 43 n2.addSample(2); |
40 n3.addSample(3); | 44 n3.addSample(3); |
41 values.addHistogram(n1); | 45 values.addHistogram(n1); |
42 values.addHistogram(n2); | 46 values.addHistogram(n2); |
43 values.addHistogram(n3); | 47 values.addHistogram(n3); |
44 } | 48 } |
45 tr.metrics.MetricRegistry.register(sampleMetricC); | 49 tr.metrics.MetricRegistry.register(sampleMetricC, { |
| 50 histogramNames: new Set([]), |
| 51 }); |
46 | 52 |
47 var typeInfo = tr.metrics.MetricRegistry.findTypeInfoWithName( | 53 var typeInfo = tr.metrics.MetricRegistry.findTypeInfoWithName( |
48 'sampleMetricB'); | 54 'sampleMetricB'); |
49 assert.strictEqual(typeInfo.constructor, sampleMetricB); | 55 assert.strictEqual(typeInfo.constructor, sampleMetricB); |
50 }); | 56 }); |
51 | 57 |
52 test('registerNonFunctionThrows', function() { | 58 test('registerNonFunctionThrows', function() { |
53 assert.throws(function() { | 59 assert.throws(function() { |
54 tr.metrics.MetricRegistry.register('not a function'); | 60 tr.metrics.MetricRegistry.register('not a function'); |
55 }); | 61 }); |
56 | 62 |
57 assert.throws(function() { | 63 assert.throws(function() { |
58 tr.metrics.MetricRegistry.register(function() {}); | 64 tr.metrics.MetricRegistry.register(function() {}); |
59 }); | 65 }); |
60 | 66 |
61 assert.throws(function() { | 67 assert.throws(function() { |
62 tr.metrics.MetricRegistry.register(function(a) {}); | 68 tr.metrics.MetricRegistry.register(function(a) {}); |
63 }); | 69 }); |
| 70 |
| 71 assert.throws(function() { |
| 72 tr.metrics.MetricRegistry.register(function(histograms, model) { |
| 73 }); |
| 74 }); |
64 }); | 75 }); |
65 }); | 76 }); |
66 </script> | 77 </script> |
OLD | NEW |