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

Side by Side Diff: tracing/tracing/metrics/metric_registry_test.html

Issue 2656493002: Register metric Histogram names. (Closed)
Patch Set: rebase Created 3 years, 10 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 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>
OLDNEW
« no previous file with comments | « tracing/tracing/metrics/metric_registry.html ('k') | tracing/tracing/metrics/sample_metric.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698