1 <!DOCTYPE html> 2 <html> 3 <!-- 4 Copyright (c) 2012 The Chromium Authors. All rights reserved. 5 Use of this source code is governed by a BSD-style license that can be 6 found in the LICENSE file. 7 --> 8 <head> 9 <title>importer.linux_perf.PowerParser tests</title> 10 <script src="../../base.js"></script> 11 </head> 12 <body> 13 <script> 14 'use strict'; 15 16 base.require('unittest'); 17 base.require('test_utils'); 18 base.require('importer.linux_perf_importer'); 19 20 function testPowerStartImport() { 21 } 22 23 function testPowerFrequencyImport() { 24 var lines = [ 25 ' kworker/0:3-6880 [000] 2784.783015: power_frequency: ' + 26 'type=2 state=1000000 cpu_id=0', 27 ' kworker/1:2-7269 [001] 2784.788993: power_frequency: ' + 28 'type=2 state=800000 cpu_id=1', 29 ' kworker/1:2-7269 [001] 2784.993120: power_frequency: ' + 30 'type=2 state=1300000 cpu_id=1' 31 ]; 32 var m = new tracing.Model(lines.join('\n'), false); 33 assertEquals(0, m.importErrors.length); 34 35 var c0 = m.cpus[0]; 36 assertEquals(0, c0.slices.length); 37 assertEquals(1, c0.counters['Clock Frequency'].samples.length); 38 39 var c1 = m.cpus[1]; 40 assertEquals(0, c1.slices.length); 41 assertEquals(2, c1.counters['Clock Frequency'].samples.length); 42 } 43 44 function testCpuFrequencyImport() { 45 var lines = [ 46 ' kworker/1:0-9665 [001] 15051.007301: cpu_frequency: ' + 47 'state=800000 cpu_id=1', 48 ' kworker/1:0-9665 [001] 15051.010278: cpu_frequency: ' + 49 'state=1300000 cpu_id=1', 50 ' kworker/0:2-7972 [000] 15051.010278: cpu_frequency: ' + 51 'state=1000000 cpu_id=0', 52 ' kworker/0:2-7972 [000] 15051.020304: cpu_frequency: ' + 53 'state=800000 cpu_id=0' 54 ]; 55 var m = new tracing.Model(lines.join('\n'), false); 56 assertEquals(0, m.importErrors.length); 57 58 var c0 = m.cpus[0]; 59 assertEquals(0, c0.slices.length); 60 assertEquals(2, c0.counters['Clock Frequency'].samples.length); 61 62 var c1 = m.cpus[1]; 63 assertEquals(0, c1.slices.length); 64 assertEquals(2, c1.counters['Clock Frequency'].samples.length); 65 } 66 67 function testCpuIdleImport() { 68 var lines = [ 69 ' <idle>-0 [000] 15050.992883: cpu_idle: ' + 70 'state=1 cpu_id=0', 71 ' <idle>-0 [000] 15050.993027: cpu_idle: ' + 72 'state=4294967295 cpu_id=0', 73 ' <idle>-0 [001] 15050.993132: cpu_idle: ' + 74 'state=1 cpu_id=1', 75 ' <idle>-0 [001] 15050.993276: cpu_idle: ' + 76 'state=4294967295 cpu_id=1', 77 ' <idle>-0 [001] 15050.993279: cpu_idle: ' + 78 'state=3 cpu_id=1', 79 ' <idle>-0 [001] 15050.993457: cpu_idle: ' + 80 'state=4294967295 cpu_id=1' 81 ]; 82 var m = new tracing.Model(lines.join('\n'), false); 83 assertEquals(0, m.importErrors.length); 84 85 var c0 = m.cpus[0]; 86 assertEquals(0, c0.slices.length); 87 assertEquals(2, c0.counters['C-State'].samples.length); 88 89 var c1 = m.cpus[1]; 90 assertEquals(0, c1.slices.length); 91 assertEquals(4, c1.counters['C-State'].samples.length); 92 } 93 94 </script> 95 </body> 96 </html> 97