• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<html>
3<!--
4Copyright (c) 2012 The Chromium Authors. All rights reserved.
5Use of this source code is governed by a BSD-style license that can be
6found in the LICENSE file.
7-->
8<head>
9<title>LinuxPerfPowerParser tests</title>
10<script src="base.js"></script>
11</head>
12<body>
13<script>
14'use strict';
15
16base.require('unittest');
17base.require('test_utils');
18base.require('linux_perf_importer');
19
20function testPowerStartImport() {
21}
22
23function 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.TimelineModel(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
44function 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.TimelineModel(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
67function 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.TimelineModel(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