Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: tools/telemetry/telemetry/core/platform/android_platform_backend.py

Issue 394923003: [telemetry] Add IPPET power monitor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Increase timeout again to 20s. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import logging 5 import logging
6 import tempfile 6 import tempfile
7 7
8 from telemetry import decorators 8 from telemetry import decorators
9 from telemetry.core import exceptions 9 from telemetry.core import exceptions
10 from telemetry.core import platform 10 from telemetry.core import platform
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 self._thermal_throttle = thermal_throttle.ThermalThrottle(self._device) 48 self._thermal_throttle = thermal_throttle.ThermalThrottle(self._device)
49 self._no_performance_mode = no_performance_mode 49 self._no_performance_mode = no_performance_mode
50 self._raw_display_frame_rate_measurements = [] 50 self._raw_display_frame_rate_measurements = []
51 self._can_access_protected_file_contents = \ 51 self._can_access_protected_file_contents = \
52 self._device.old_interface.CanAccessProtectedFileContents() 52 self._device.old_interface.CanAccessProtectedFileContents()
53 power_controller = power_monitor_controller.PowerMonitorController([ 53 power_controller = power_monitor_controller.PowerMonitorController([
54 monsoon_power_monitor.MonsoonPowerMonitor(), 54 monsoon_power_monitor.MonsoonPowerMonitor(),
55 android_ds2784_power_monitor.DS2784PowerMonitor(device), 55 android_ds2784_power_monitor.DS2784PowerMonitor(device),
56 android_dumpsys_power_monitor.DumpsysPowerMonitor(device), 56 android_dumpsys_power_monitor.DumpsysPowerMonitor(device),
57 ]) 57 ])
58 self._powermonitor = android_temperature_monitor.AndroidTemperatureMonitor( 58 self._power_monitor = android_temperature_monitor.AndroidTemperatureMonitor(
59 power_controller, device) 59 power_controller, device)
60 self._video_recorder = None 60 self._video_recorder = None
61 if self._no_performance_mode: 61 if self._no_performance_mode:
62 logging.warning('CPU governor will not be set!') 62 logging.warning('CPU governor will not be set!')
63 63
64 def IsRawDisplayFrameRateSupported(self): 64 def IsRawDisplayFrameRateSupported(self):
65 return True 65 return True
66 66
67 def StartRawDisplayFrameRateMeasurement(self): 67 def StartRawDisplayFrameRateMeasurement(self):
68 assert not self._surface_stats_collector 68 assert not self._surface_stats_collector
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 def StopVideoCapture(self): 238 def StopVideoCapture(self):
239 assert self.is_video_capture_running, 'Must start video capture first' 239 assert self.is_video_capture_running, 'Must start video capture first'
240 self._video_recorder.Stop() 240 self._video_recorder.Stop()
241 video_file_obj = tempfile.NamedTemporaryFile() 241 video_file_obj = tempfile.NamedTemporaryFile()
242 self._video_recorder.Pull(video_file_obj.name) 242 self._video_recorder.Pull(video_file_obj.name)
243 self._video_recorder = None 243 self._video_recorder = None
244 244
245 return video.Video(video_file_obj) 245 return video.Video(video_file_obj)
246 246
247 def CanMonitorPower(self): 247 def CanMonitorPower(self):
248 return self._powermonitor.CanMonitorPower() 248 return self._power_monitor.CanMonitorPower()
249 249
250 def StartMonitoringPower(self, browser): 250 def StartMonitoringPower(self, browser):
251 self._powermonitor.StartMonitoringPower(browser) 251 self._power_monitor.StartMonitoringPower(browser)
252 252
253 def StopMonitoringPower(self): 253 def StopMonitoringPower(self):
254 return self._powermonitor.StopMonitoringPower() 254 return self._power_monitor.StopMonitoringPower()
255 255
256 def _GetFileContents(self, fname): 256 def _GetFileContents(self, fname):
257 if not self._can_access_protected_file_contents: 257 if not self._can_access_protected_file_contents:
258 logging.warning('%s cannot be retrieved on non-rooted device.' % fname) 258 logging.warning('%s cannot be retrieved on non-rooted device.' % fname)
259 return '' 259 return ''
260 return '\n'.join(self._device.ReadFile(fname, as_root=True)) 260 return '\n'.join(self._device.ReadFile(fname, as_root=True))
261 261
262 def _GetPsOutput(self, columns, pid=None): 262 def _GetPsOutput(self, columns, pid=None):
263 assert columns == ['pid', 'name'] or columns == ['pid'], \ 263 assert columns == ['pid', 'name'] or columns == ['pid'], \
264 'Only know how to return pid and name. Requested: ' + columns 264 'Only know how to return pid and name. Requested: ' + columns
265 command = 'ps' 265 command = 'ps'
266 if pid: 266 if pid:
267 command += ' -p %d' % pid 267 command += ' -p %d' % pid
268 ps = self._device.RunShellCommand(command)[1:] 268 ps = self._device.RunShellCommand(command)[1:]
269 output = [] 269 output = []
270 for line in ps: 270 for line in ps:
271 data = line.split() 271 data = line.split()
272 curr_pid = data[1] 272 curr_pid = data[1]
273 curr_name = data[-1] 273 curr_name = data[-1]
274 if columns == ['pid', 'name']: 274 if columns == ['pid', 'name']:
275 output.append([curr_pid, curr_name]) 275 output.append([curr_pid, curr_name])
276 else: 276 else:
277 output.append([curr_pid]) 277 output.append([curr_pid])
278 return output 278 return output
OLDNEW
« no previous file with comments | « tools/telemetry/bin/win/ippet.zip.sha1 ('k') | tools/telemetry/telemetry/core/platform/mac_platform_backend.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698