Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / tracks / cpu_track_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 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/test_utils.html">
9 <link rel="import" href="/tracing/timeline_track_view.html">
10 <link rel="import" href="/tracing/trace_model.html">
11
12 <script>
13 'use strict';
14
15 tv.unittest.testSuite(function() {
16   var Cpu = tracing.trace_model.Cpu;
17   var CpuTrack = tracing.tracks.CpuTrack;
18   var Slice = tracing.trace_model.Slice;
19   var StackFrame = tracing.trace_model.StackFrame;
20   var Sample = tracing.trace_model.Sample;
21   var Thread = tracing.trace_model.Thread;
22   var Viewport = tracing.TimelineViewport;
23
24   test('basicCpu', function() {
25     var cpu = new Cpu({}, 7);
26     cpu.slices = [
27       new Slice('', 'a', 0, 1, {}, 1),
28       new Slice('', 'b', 1, 2.1, {}, 4.8)
29     ];
30     cpu.updateBounds();
31
32     var testEl = document.createElement('div');
33     var viewport = new Viewport(testEl);
34
35     var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
36
37     var track = new CpuTrack(viewport);
38     drawingContainer.appendChild(track);
39
40     track.heading = 'CPU ' + cpu.cpuNumber;
41     track.cpu = cpu;
42     var dt = new tracing.TimelineDisplayTransform();
43     dt.xSetWorldBounds(0, 11.1, track.clientWidth);
44     track.viewport.setDisplayTransformImmediately(dt);
45   });
46
47
48   test('withSamples', function() {
49     var model = new tracing.TraceModel();
50     var thread;
51     var cpu;
52     model.importTraces([], false, false, function() {
53       cpu = model.kernel.getOrCreateCpu(1);
54       thread = model.getOrCreateProcess(1).getOrCreateThread(2);
55
56       var fA = model.addStackFrame(new StackFrame(
57           undefined, 1, 'cat', 'a', 7));
58       var fAB = model.addStackFrame(new StackFrame(
59           fA, 2, 'cat', 'b', 7));
60       var fABC = model.addStackFrame(new StackFrame(
61           fAB, 3, 'cat', 'c', 7));
62       var fAD = model.addStackFrame(new StackFrame(
63           fA, 4, 'cat', 'd', 7));
64
65       model.samples.push(new Sample(undefined, thread, 'instructions_retired',
66                                     10, fABC, 10));
67       model.samples.push(new Sample(undefined, thread, 'instructions_retired',
68                                     20, fAB, 10));
69       model.samples.push(new Sample(undefined, thread, 'instructions_retired',
70                                     30, fAB, 10));
71       model.samples.push(new Sample(undefined, thread, 'instructions_retired',
72                                     40, fAD, 10));
73
74       model.samples.push(new Sample(undefined, thread, 'page_fault',
75                                     25, fAB, 10));
76       model.samples.push(new Sample(undefined, thread, 'page_fault',
77                                     35, fAD, 10));
78     });
79
80     var testEl = document.createElement('div');
81     var viewport = new Viewport(testEl);
82
83     var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
84
85     var track = new CpuTrack(viewport);
86     drawingContainer.appendChild(track);
87
88     track.heading = 'CPU ' + cpu.cpuNumber;
89     track.cpu = cpu;
90     var dt = new tracing.TimelineDisplayTransform();
91     dt.xSetWorldBounds(0, 11.1, track.clientWidth);
92     track.viewport.setDisplayTransformImmediately(dt);
93   });
94 });
95 </script>
96