diff options
-rw-r--r-- | tools/perf/metrics/power.py | 3 | ||||
-rw-r--r-- | tools/telemetry/telemetry/core/platform.py | 10 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tools/perf/metrics/power.py b/tools/perf/metrics/power.py index ab70964..df3d919 100644 --- a/tools/perf/metrics/power.py +++ b/tools/perf/metrics/power.py @@ -85,7 +85,8 @@ class PowerMetric(Metric): # Make sure that power monitoring is cleaned up when program exits. platform = self._platform def CleanUp(): - platform.StopMonitoringPower() + if platform.IsMonitoringPower(): + platform.StopMonitoringPower() atexit.register(CleanUp) self._running = True diff --git a/tools/telemetry/telemetry/core/platform.py b/tools/telemetry/telemetry/core/platform.py index dbb2c1e..6c8bf7f 100644 --- a/tools/telemetry/telemetry/core/platform.py +++ b/tools/telemetry/telemetry/core/platform.py @@ -82,6 +82,7 @@ class Platform(object): self._platform_backend.tracing_controller_backend) self._local_server_controller = local_server.LocalServerController( self._platform_backend) + self._is_monitoring_power = False @property def is_host_platform(self): @@ -238,6 +239,7 @@ class Platform(object): """ assert self._platform_backend.CanMonitorPower() self._platform_backend.StartMonitoringPower(browser) + self._is_monitoring_power = True def StopMonitoringPower(self): """Stops monitoring power utilization and returns stats @@ -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): """Returns true if network data can be retrieved, false otherwise.""" |