OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
5 found in the LICENSE file. | 5 found in the LICENSE file. |
6 --> | 6 --> |
7 | 7 |
8 <link rel="import" href="/tracing/extras/importer/linux_perf/parser.html"> | 8 <link rel="import" href="/tracing/extras/importer/linux_perf/parser.html"> |
9 <link rel="import" href="/tracing/model/counter_series.html"> | 9 <link rel="import" href="/tracing/model/counter_series.html"> |
10 | 10 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 targetCpu.getOrCreateCounter('', 'Clock Frequency Limits'); | 98 targetCpu.getOrCreateCounter('', 'Clock Frequency Limits'); |
99 if (powerCounter.numSeries === 0) { | 99 if (powerCounter.numSeries === 0) { |
100 powerCounter.addSeries(new tr.model.CounterSeries('Min Frequency', | 100 powerCounter.addSeries(new tr.model.CounterSeries('Min Frequency', |
101 ColorScheme.getColorIdForGeneralPurposeString( | 101 ColorScheme.getColorIdForGeneralPurposeString( |
102 powerCounter.name + '.' + 'Min Frequency'))); | 102 powerCounter.name + '.' + 'Min Frequency'))); |
103 powerCounter.addSeries(new tr.model.CounterSeries('Max Frequency', | 103 powerCounter.addSeries(new tr.model.CounterSeries('Max Frequency', |
104 ColorScheme.getColorIdForGeneralPurposeString( | 104 ColorScheme.getColorIdForGeneralPurposeString( |
105 powerCounter.name + '.' + 'Max Frequency'))); | 105 powerCounter.name + '.' + 'Max Frequency'))); |
106 } | 106 } |
107 powerCounter.series.forEach(function(series) { | 107 powerCounter.series.forEach(function(series) { |
108 if (series.name === 'Min Frequency') | 108 if (series.name === 'Min Frequency') { |
109 series.addCounterSample(ts, minFreq); | 109 series.addCounterSample(ts, minFreq); |
110 if (series.name === 'Max Frequency') | 110 } |
| 111 if (series.name === 'Max Frequency') { |
111 series.addCounterSample(ts, maxFreq); | 112 series.addCounterSample(ts, maxFreq); |
| 113 } |
112 }); | 114 }); |
113 }, | 115 }, |
114 | 116 |
115 /** | 117 /** |
116 * Parses power events and sets up state in the importer. | 118 * Parses power events and sets up state in the importer. |
117 */ | 119 */ |
118 powerStartEvent: function(eventName, cpuNumber, pid, ts, eventBase) { | 120 powerStartEvent: function(eventName, cpuNumber, pid, ts, eventBase) { |
119 var event = /type=(\d+) state=(\d) cpu_id=(\d+)/.exec(eventBase.details); | 121 var event = /type=(\d+) state=(\d) cpu_id=(\d+)/.exec(eventBase.details); |
120 if (!event) | 122 if (!event) return false; |
121 return false; | |
122 | 123 |
123 var targetCpuNumber = parseInt(event[3]); | 124 var targetCpuNumber = parseInt(event[3]); |
124 var cpuState = parseInt(event[2]); | 125 var cpuState = parseInt(event[2]); |
125 this.cpuStateSlice(ts, targetCpuNumber, event[1], cpuState); | 126 this.cpuStateSlice(ts, targetCpuNumber, event[1], cpuState); |
126 return true; | 127 return true; |
127 }, | 128 }, |
128 | 129 |
129 powerFrequencyEvent: function(eventName, cpuNumber, pid, ts, eventBase) { | 130 powerFrequencyEvent: function(eventName, cpuNumber, pid, ts, eventBase) { |
130 var event = /type=(\d+) state=(\d+) cpu_id=(\d+)/ | 131 var event = /type=(\d+) state=(\d+) cpu_id=(\d+)/ |
131 .exec(eventBase.details); | 132 .exec(eventBase.details); |
132 if (!event) | 133 if (!event) return false; |
133 return false; | |
134 | 134 |
135 var targetCpuNumber = parseInt(event[3]); | 135 var targetCpuNumber = parseInt(event[3]); |
136 var powerState = parseInt(event[2]); | 136 var powerState = parseInt(event[2]); |
137 this.cpuFrequencySlice(ts, targetCpuNumber, powerState); | 137 this.cpuFrequencySlice(ts, targetCpuNumber, powerState); |
138 return true; | 138 return true; |
139 }, | 139 }, |
140 | 140 |
141 cpuFrequencyEvent: function(eventName, cpuNumber, pid, ts, eventBase) { | 141 cpuFrequencyEvent: function(eventName, cpuNumber, pid, ts, eventBase) { |
142 var event = /state=(\d+) cpu_id=(\d+)/.exec(eventBase.details); | 142 var event = /state=(\d+) cpu_id=(\d+)/.exec(eventBase.details); |
143 if (!event) | 143 if (!event) return false; |
144 return false; | |
145 | 144 |
146 var targetCpuNumber = parseInt(event[2]); | 145 var targetCpuNumber = parseInt(event[2]); |
147 var powerState = parseInt(event[1]); | 146 var powerState = parseInt(event[1]); |
148 this.cpuFrequencySlice(ts, targetCpuNumber, powerState); | 147 this.cpuFrequencySlice(ts, targetCpuNumber, powerState); |
149 return true; | 148 return true; |
150 }, | 149 }, |
151 | 150 |
152 cpuFrequencyLimitsEvent: function(eventName, cpu, pid, ts, eventBase) { | 151 cpuFrequencyLimitsEvent: function(eventName, cpu, pid, ts, eventBase) { |
153 var event = /min=(\d+) max=(\d+) cpu_id=(\d+)/.exec(eventBase.details); | 152 var event = /min=(\d+) max=(\d+) cpu_id=(\d+)/.exec(eventBase.details); |
154 if (!event) | 153 if (!event) return false; |
155 return false; | |
156 | 154 |
157 var targetCpuNumber = parseInt(event[3]); | 155 var targetCpuNumber = parseInt(event[3]); |
158 var minFreq = parseInt(event[1]); | 156 var minFreq = parseInt(event[1]); |
159 var maxFreq = parseInt(event[2]); | 157 var maxFreq = parseInt(event[2]); |
160 this.cpuFrequencyLimitsSlice(ts, targetCpuNumber, minFreq, maxFreq); | 158 this.cpuFrequencyLimitsSlice(ts, targetCpuNumber, minFreq, maxFreq); |
161 return true; | 159 return true; |
162 }, | 160 }, |
163 | 161 |
164 cpuIdleEvent: function(eventName, cpuNumber, pid, ts, eventBase) { | 162 cpuIdleEvent: function(eventName, cpuNumber, pid, ts, eventBase) { |
165 var event = /state=(\d+) cpu_id=(\d+)/.exec(eventBase.details); | 163 var event = /state=(\d+) cpu_id=(\d+)/.exec(eventBase.details); |
166 if (!event) | 164 if (!event) return false; |
167 return false; | |
168 | 165 |
169 var targetCpuNumber = parseInt(event[2]); | 166 var targetCpuNumber = parseInt(event[2]); |
170 var cpuState = parseInt(event[1]); | 167 var cpuState = parseInt(event[1]); |
171 this.cpuIdleSlice(ts, targetCpuNumber, cpuState); | 168 this.cpuIdleSlice(ts, targetCpuNumber, cpuState); |
172 return true; | 169 return true; |
173 } | 170 } |
174 }; | 171 }; |
175 | 172 |
176 Parser.register(PowerParser); | 173 Parser.register(PowerParser); |
177 | 174 |
178 return { | 175 return { |
179 PowerParser, | 176 PowerParser, |
180 }; | 177 }; |
181 }); | 178 }); |
182 </script> | 179 </script> |
OLD | NEW |