Commit 2b3d8ac3 authored by rnephew's avatar rnephew Committed by Commit bot

[Android][Telemetry] Check if power monitor is running before disabling at exit

BUG=536832

Review URL: https://codereview.chromium.org/1369363002

Cr-Commit-Position: refs/heads/master@{#351157}
parent 4eb03e59
...@@ -85,7 +85,8 @@ class PowerMetric(Metric): ...@@ -85,7 +85,8 @@ class PowerMetric(Metric):
# Make sure that power monitoring is cleaned up when program exits. # Make sure that power monitoring is cleaned up when program exits.
platform = self._platform platform = self._platform
def CleanUp(): def CleanUp():
platform.StopMonitoringPower() if platform.IsMonitoringPower():
platform.StopMonitoringPower()
atexit.register(CleanUp) atexit.register(CleanUp)
self._running = True self._running = True
......
...@@ -82,6 +82,7 @@ class Platform(object): ...@@ -82,6 +82,7 @@ class Platform(object):
self._platform_backend.tracing_controller_backend) self._platform_backend.tracing_controller_backend)
self._local_server_controller = local_server.LocalServerController( self._local_server_controller = local_server.LocalServerController(
self._platform_backend) self._platform_backend)
self._is_monitoring_power = False
@property @property
def is_host_platform(self): def is_host_platform(self):
...@@ -238,6 +239,7 @@ class Platform(object): ...@@ -238,6 +239,7 @@ class Platform(object):
""" """
assert self._platform_backend.CanMonitorPower() assert self._platform_backend.CanMonitorPower()
self._platform_backend.StartMonitoringPower(browser) self._platform_backend.StartMonitoringPower(browser)
self._is_monitoring_power = True
def StopMonitoringPower(self): def StopMonitoringPower(self):
"""Stops monitoring power utilization and returns stats """Stops monitoring power utilization and returns stats
...@@ -280,7 +282,13 @@ class Platform(object): ...@@ -280,7 +282,13 @@ class Platform(object):
} }
""" """
return self._platform_backend.StopMonitoringPower() ret_val = self._platform_backend.StopMonitoringPower()
self._is_monitoring_power = False
return ret_val
def IsMonitoringPower(self):
"""Returns true if power is currently being monitored, false otherwise."""
return self._is_monitoring_power
def CanMonitorNetworkData(self): def CanMonitorNetworkData(self):
"""Returns true if network data can be retrieved, false otherwise.""" """Returns true if network data can be retrieved, false otherwise."""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment