power_parser_test.js revision 66a37686207944273ced825e0e8b6b6375f8c3de
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. 4 5'use strict'; 6 7base.require('tracing.test_utils'); 8base.require('tracing.importer.linux_perf_importer'); 9 10base.unittest.testSuite('tracing.importer.linux_perf.power_parser', function() { 11 test('powerFrequencyImport', function() { 12 var lines = [ 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' 19 ]; 20 var m = new tracing.TraceModel(lines.join('\n'), false); 21 assertEquals(0, m.importErrors.length); 22 23 var c0 = m.kernel.cpus[0]; 24 assertEquals(0, c0.slices.length); 25 assertEquals(1, c0.counters['Clock Frequency'].samples.length); 26 27 var c1 = m.kernel.cpus[1]; 28 assertEquals(0, c1.slices.length); 29 assertEquals(2, c1.counters['Clock Frequency'].samples.length); 30 }); 31 32 test('cpuFrequencyImport', function() { 33 var lines = [ 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' 42 ]; 43 var m = new tracing.TraceModel(lines.join('\n'), false); 44 assertEquals(0, m.importErrors.length); 45 46 var c0 = m.kernel.cpus[0]; 47 assertEquals(0, c0.slices.length); 48 assertEquals(2, c0.counters['Clock Frequency'].samples.length); 49 50 var c1 = m.kernel.cpus[1]; 51 assertEquals(0, c1.slices.length); 52 assertEquals(2, c1.counters['Clock Frequency'].samples.length); 53 }); 54 55 test('cpuIdleImport', function() { 56 var lines = [ 57 ' <idle>-0 [000] 15050.992883: cpu_idle: ' + 58 'state=1 cpu_id=0', 59 ' <idle>-0 [000] 15050.993027: cpu_idle: ' + 60 'state=4294967295 cpu_id=0', 61 ' <idle>-0 [001] 15050.993132: cpu_idle: ' + 62 'state=1 cpu_id=1', 63 ' <idle>-0 [001] 15050.993276: cpu_idle: ' + 64 'state=4294967295 cpu_id=1', 65 ' <idle>-0 [001] 15050.993279: cpu_idle: ' + 66 'state=3 cpu_id=1', 67 ' <idle>-0 [001] 15050.993457: cpu_idle: ' + 68 'state=4294967295 cpu_id=1' 69 ]; 70 var m = new tracing.TraceModel(lines.join('\n'), false); 71 assertEquals(0, m.importErrors.length); 72 73 var c0 = m.kernel.cpus[0]; 74 assertEquals(0, c0.slices.length); 75 assertEquals(2, c0.counters['C-State'].samples.length); 76 77 var c1 = m.kernel.cpus[1]; 78 assertEquals(0, c1.slices.length); 79 assertEquals(4, c1.counters['C-State'].samples.length); 80 }); 81}); 82