1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 tvcm.require('tracing.test_utils');
8 tvcm.require('tracing.importer.linux_perf_importer');
10 tvcm.unittest.testSuite('tracing.importer.linux_perf.power_parser_test', function() { // @suppress longLineCheck
11 test('powerFrequencyImport', function() {
13 ' kworker/0:3-6880 [000] 2784.783015: power_frequency: ' +
14 'type=2 state=1000000 cpu_id=0',
15 ' kworker/1:2-7269 [001] 2784.788993: power_frequency: ' +
16 'type=2 state=800000 cpu_id=1',
17 ' kworker/1:2-7269 [001] 2784.993120: power_frequency: ' +
18 'type=2 state=1300000 cpu_id=1'
20 var m = new tracing.TraceModel(lines.join('\n'), false);
21 assertFalse(m.hasImportWarnings);
23 var c0 = m.kernel.cpus[0];
24 assertEquals(0, c0.slices.length);
25 assertEquals(1, c0.counters['Clock Frequency'].series[0].samples.length);
27 var c1 = m.kernel.cpus[1];
28 assertEquals(0, c1.slices.length);
29 assertEquals(2, c1.counters['Clock Frequency'].series[0].samples.length);
32 test('cpuFrequencyImport', function() {
34 ' kworker/1:0-9665 [001] 15051.007301: cpu_frequency: ' +
35 'state=800000 cpu_id=1',
36 ' kworker/1:0-9665 [001] 15051.010278: cpu_frequency: ' +
37 'state=1300000 cpu_id=1',
38 ' kworker/0:2-7972 [000] 15051.010278: cpu_frequency: ' +
39 'state=1000000 cpu_id=0',
40 ' kworker/0:2-7972 [000] 15051.020304: cpu_frequency: ' +
41 'state=800000 cpu_id=0'
43 var m = new tracing.TraceModel(lines.join('\n'), false);
44 assertFalse(m.hasImportWarnings);
46 var c0 = m.kernel.cpus[0];
47 assertEquals(0, c0.slices.length);
48 assertEquals(2, c0.counters['Clock Frequency'].series[0].samples.length);
50 var c1 = m.kernel.cpus[1];
51 assertEquals(0, c1.slices.length);
52 assertEquals(2, c1.counters['Clock Frequency'].series[0].samples.length);
55 test('cpuIdleImport', function() {
57 ' <idle>-0 [000] 15050.992883: cpu_idle: ' +
59 ' <idle>-0 [000] 15050.993027: cpu_idle: ' +
60 'state=4294967295 cpu_id=0',
61 ' <idle>-0 [001] 15050.993132: cpu_idle: ' +
63 ' <idle>-0 [001] 15050.993276: cpu_idle: ' +
64 'state=4294967295 cpu_id=1',
65 ' <idle>-0 [001] 15050.993279: cpu_idle: ' +
67 ' <idle>-0 [001] 15050.993457: cpu_idle: ' +
68 'state=4294967295 cpu_id=1'
70 var m = new tracing.TraceModel(lines.join('\n'), false);
71 assertFalse(m.hasImportWarnings);
73 var c0 = m.kernel.cpus[0];
74 assertEquals(0, c0.slices.length);
75 assertEquals(2, c0.counters['C-State'].series[0].samples.length);
77 var c1 = m.kernel.cpus[1];
78 assertEquals(0, c1.slices.length);
79 assertEquals(4, c1.counters['C-State'].series[0].samples.length);