| Index: tools/telemetry/telemetry/internal/platform/power_monitor/android_dumpsys_power_monitor.py
|
| diff --git a/tools/telemetry/telemetry/internal/platform/power_monitor/android_dumpsys_power_monitor.py b/tools/telemetry/telemetry/internal/platform/power_monitor/android_dumpsys_power_monitor.py
|
| deleted file mode 100644
|
| index e7980f449f7f79b7c9d80fdb3cf905c7efff9ac9..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/internal/platform/power_monitor/android_dumpsys_power_monitor.py
|
| +++ /dev/null
|
| @@ -1,67 +0,0 @@
|
| -# Copyright 2014 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -import csv
|
| -import logging
|
| -
|
| -from telemetry.internal.platform.power_monitor import android_power_monitor_base
|
| -
|
| -class DumpsysPowerMonitor(android_power_monitor_base.AndroidPowerMonitorBase):
|
| - """PowerMonitor that relies on the dumpsys batterystats to monitor the power
|
| - consumption of a single android application. This measure uses a heuristic
|
| - and is the same information end-users see with the battery application.
|
| - Available on Android L and higher releases.
|
| - """
|
| - def __init__(self, battery, platform_backend):
|
| - """Constructor.
|
| -
|
| - Args:
|
| - battery: A BatteryUtil instance.
|
| - platform_backend: A LinuxBasedPlatformBackend instance.
|
| - """
|
| - super(DumpsysPowerMonitor, self).__init__()
|
| - self._battery = battery
|
| - self._browser = None
|
| - self._platform = platform_backend
|
| -
|
| - def CanMonitorPower(self):
|
| - result = self._platform.RunCommand('dumpsys batterystats -c')
|
| - DUMP_VERSION_INDEX = 0
|
| - # Dumpsys power data is present in dumpsys versions 8 and 9
|
| - # which is found on L+ devices.
|
| - return (csv.reader(result).next()[DUMP_VERSION_INDEX] in ['8', '9'])
|
| -
|
| - def StartMonitoringPower(self, browser):
|
| - self._CheckStart()
|
| - assert browser
|
| - self._browser = browser
|
| - # Disable the charging of the device over USB. This is necessary because the
|
| - # device only collects information about power usage when the device is not
|
| - # charging.
|
| -
|
| - def StopMonitoringPower(self):
|
| - self._CheckStop()
|
| - assert self._browser
|
| - package = self._browser._browser_backend.package
|
| - self._browser = None
|
| -
|
| - voltage = self._ParseVoltage(self._battery.GetBatteryInfo().get('voltage'))
|
| - power_data = self._battery.GetPowerData()
|
| - power_results = self.ProcessPowerData(power_data, voltage, package)
|
| - self._LogPowerAnomalies(power_results, package)
|
| - return power_results
|
| -
|
| - @staticmethod
|
| - def ProcessPowerData(power_data, voltage, package):
|
| - package_power_data = power_data['per_package'].get(package)
|
| - if not package_power_data:
|
| - logging.warning('No power data for %s in dumpsys output.' % package)
|
| - package_power = 0
|
| - else:
|
| - package_power = sum(package_power_data['data'])
|
| -
|
| - return {'identifier': 'dumpsys',
|
| - 'power_samples_mw': [],
|
| - 'energy_consumption_mwh': power_data['system_total'] * voltage,
|
| - 'application_energy_consumption_mwh': package_power * voltage}
|
|
|