| 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 |