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

Unified Diff: tools/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor.py

Issue 1255673002: [Android][Telemetry] Add support for multiple power monitors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor.py
diff --git a/tools/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor.py b/tools/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor.py
index 2524531bd197fa910822d825b43c44afad839c4e..a9537e0fc4ddedd9b18c91c30727081a60b16e9d 100644
--- a/tools/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor.py
+++ b/tools/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor.py
@@ -8,7 +8,7 @@ import tempfile
import time
from telemetry.core import exceptions
-from telemetry.internal.platform.power_monitor import sysfs_power_monitor
+from telemetry.internal.platform import power_monitor
from telemetry.internal.platform.profiler import monsoon
@@ -42,13 +42,14 @@ def _MonitorPower(device, is_collecting, output):
}
json.dump(result, output)
-class MonsoonPowerMonitor(sysfs_power_monitor.SysfsPowerMonitor):
+class MonsoonPowerMonitor(power_monitor.PowerMonitor):
def __init__(self, _, platform_backend):
- super(MonsoonPowerMonitor, self).__init__(platform_backend)
+ super(MonsoonPowerMonitor, self).__init__()
self._powermonitor_process = None
self._powermonitor_output_file = None
self._is_collecting = None
self._monsoon = None
+ self._platform = platform_backend
try:
self._monsoon = monsoon.Monsoon(wait=False)
# Nominal Li-ion voltage is 3.7V, but it puts out 4.2V at max capacity.
@@ -65,7 +66,6 @@ class MonsoonPowerMonitor(sysfs_power_monitor.SysfsPowerMonitor):
def StartMonitoringPower(self, browser):
assert not self._powermonitor_process, (
'Must call StopMonitoringPower().')
- super(MonsoonPowerMonitor, self).StartMonitoringPower(browser)
self._powermonitor_output_file = tempfile.TemporaryFile()
self._is_collecting = multiprocessing.Event()
self._powermonitor_process = multiprocessing.Process(
@@ -84,7 +84,6 @@ class MonsoonPowerMonitor(sysfs_power_monitor.SysfsPowerMonitor):
assert self._powermonitor_process, (
'StartMonitoringPower() not called.')
try:
- cpu_stats = super(MonsoonPowerMonitor, self).StopMonitoringPower()
# Tell powermonitor to take an immediate sample and join.
self._is_collecting.clear()
self._powermonitor_process.join()
@@ -92,9 +91,7 @@ class MonsoonPowerMonitor(sysfs_power_monitor.SysfsPowerMonitor):
self._powermonitor_output_file.seek(0)
powermonitor_output = self._powermonitor_output_file.read()
assert powermonitor_output, 'PowerMonitor produced no output'
- power_stats = MonsoonPowerMonitor.ParseSamplingOutput(powermonitor_output)
- return super(MonsoonPowerMonitor, self).CombineResults(cpu_stats,
- power_stats)
+ return MonsoonPowerMonitor.ParseSamplingOutput(powermonitor_output)
finally:
self._powermonitor_output_file = None
self._powermonitor_process = None
@@ -121,6 +118,6 @@ class MonsoonPowerMonitor(sysfs_power_monitor.SysfsPowerMonitor):
out_dict = {}
out_dict['identifier'] = 'monsoon'
out_dict['power_samples_mw'] = power_samples
- out_dict['energy_consumption_mwh'] = total_energy_consumption_mwh
+ out_dict['monsoon_energy_consumption_mwh'] = total_energy_consumption_mwh
return out_dict

Powered by Google App Engine
This is Rietveld 408576698