Home | History | Annotate | Download | only in linux_perf
      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