summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrnephew <rnephew@chromium.org>2015-09-28 14:17:07 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-28 21:18:23 +0000
commit2b3d8ac3b6a34c0b57d8682636dad7d4822dfafb (patch)
tree313a721951ad2c70f02c6c9c0fab6ee7fc5f616b
parent4eb03e59d19e55321812a34e73a07ea7a2d2c87d (diff)
downloadchromium_src-2b3d8ac3b6a34c0b57d8682636dad7d4822dfafb.zip
chromium_src-2b3d8ac3b6a34c0b57d8682636dad7d4822dfafb.tar.gz
chromium_src-2b3d8ac3b6a34c0b57d8682636dad7d4822dfafb.tar.bz2
[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}
-rw-r--r--tools/perf/metrics/power.py3
-rw-r--r--tools/telemetry/telemetry/core/platform.py10
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."""