OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <!-- | |
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 | |
5 found in the LICENSE file. | |
6 --> | |
7 | |
8 <link rel="import" href="/tracing/extras/chrome/chrome_user_friendly_category_dr
iver.html"> | |
9 <link rel="import" href="/tracing/model/event_set.html"> | |
10 <link rel="import" href="/tracing/value/diagnostics/related_histogram_breakdown.
html"> | |
11 <link rel="import" href="/tracing/value/histogram.html"> | |
12 <link rel="import" href="/tracing/value/histogram_set.html"> | |
13 | |
14 <script> | |
15 'use strict'; | |
16 | |
17 tr.b.unittest.testSuite(function() { | |
18 const TEST_BOUNDARIES = tr.v.HistogramBinBoundaries.createLinear(0, 10, 10); | |
19 | |
20 test('build', function() { | |
21 const histograms = new tr.v.HistogramSet(); | |
22 let events = new tr.model.EventSet([ | |
23 { | |
24 guid: 9, | |
25 title: 'V8.Execute', | |
26 cpuSelfTime: 1, | |
27 stableId: '11.11' | |
28 }, | |
29 { | |
30 guid: 10, | |
31 title: 'V8.Execute', | |
32 cpuSelfTime: 2, | |
33 stableId: '22.22' | |
34 }, | |
35 { | |
36 guid: 11, | |
37 title: 'UpdateLayoutTree', | |
38 cpuSelfTime: 3, | |
39 stableId: '33.33' | |
40 }, | |
41 { | |
42 guid: 12, | |
43 title: 'UpdateLayoutTree', | |
44 cpuSelfTime: undefined, | |
45 stableId: '44.44' | |
46 } | |
47 ]); | |
48 | |
49 const sampleForEvent = undefined; | |
50 const diagnostic = tr.v.d.RelatedHistogramBreakdown.buildFromEvents( | |
51 histograms, 'foo-', events, | |
52 tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent, | |
53 tr.b.Unit.byName.timeDurationInMs, sampleForEvent, TEST_BOUNDARIES); | |
54 | |
55 assert.lengthOf(diagnostic, 2); | |
56 const scriptHist = histograms.getHistogramNamed('foo-script_execute'); | |
57 assert.instanceOf(scriptHist, tr.v.Histogram); | |
58 assert.lengthOf(scriptHist.allBins[2].diagnosticMaps, 1); | |
59 assert.strictEqual(scriptHist, diagnostic.get('script_execute')); | |
60 events = [...events]; | |
61 let relatedEvents = scriptHist.allBins[2].diagnosticMaps[0] | |
62 .get('relatedEvents'); | |
63 assert.lengthOf(relatedEvents, 1); | |
64 assert.strictEqual(events[0], [...relatedEvents][0]); | |
65 assert.lengthOf(scriptHist.allBins[3].diagnosticMaps, 1); | |
66 assert.lengthOf( | |
67 scriptHist.allBins[3].diagnosticMaps[0] | |
68 .get('relatedEvents'), 1); | |
69 assert.strictEqual(events[1], | |
70 [...scriptHist.allBins[3].diagnosticMaps[0] | |
71 .get('relatedEvents')][0]); | |
72 | |
73 const styleHist = histograms.getHistogramNamed('foo-style'); | |
74 assert.instanceOf(styleHist, tr.v.Histogram); | |
75 assert.lengthOf(styleHist.allBins[4].diagnosticMaps, 1); | |
76 relatedEvents = styleHist.allBins[4].diagnosticMaps[0] | |
77 .get('relatedEvents'); | |
78 assert.strictEqual(styleHist, diagnostic.get('style')); | |
79 assert.lengthOf(relatedEvents, 1); | |
80 assert.strictEqual(events[2], [...relatedEvents][0]); | |
81 }); | |
82 }); | |
83 </script> | |
OLD | NEW |