Index: tools/telemetry/telemetry/core/platform/power_monitor/sysfs_power_monitor.py |
diff --git a/tools/telemetry/telemetry/core/platform/power_monitor/sysfs_power_monitor.py b/tools/telemetry/telemetry/core/platform/power_monitor/sysfs_power_monitor.py |
index c6138d7d017fc6c281026dbbef07f17708026b32..62c9f1435238da42b62612e232afe52166af19f0 100644 |
--- a/tools/telemetry/telemetry/core/platform/power_monitor/sysfs_power_monitor.py |
+++ b/tools/telemetry/telemetry/core/platform/power_monitor/sysfs_power_monitor.py |
@@ -36,13 +36,11 @@ class SysfsPowerMonitor(power_monitor.PowerMonitor): |
self._browser = None |
self._cpus = filter(lambda x: re.match(r'^cpu[0-9]+', x), |
platform.RunShellCommand('ls %s' % CPU_PATH).split()) |
- self._end_time = None |
self._final_cstate = None |
self._final_freq = None |
self._initial_cstate = None |
self._initial_freq = None |
self._platform = platform |
- self._start_time = None |
@decorators.Cache |
def CanMonitorPower(self): |
@@ -52,7 +50,6 @@ class SysfsPowerMonitor(power_monitor.PowerMonitor): |
def StartMonitoringPower(self, browser): |
assert not self._browser, 'Must call StopMonitoringPower().' |
self._browser = browser |
- self._start_time = int(self._platform.RunShellCommand('date +%s')) |
if self.CanMonitorPower(): |
self._initial_freq = self.GetCpuFreq() |
self._initial_cstate = self.GetCpuState() |
@@ -60,7 +57,6 @@ class SysfsPowerMonitor(power_monitor.PowerMonitor): |
def StopMonitoringPower(self): |
assert self._browser, 'StartMonitoringPower() not called.' |
try: |
- self._end_time = int(self._platform.RunShellCommand('date +%s')) |
out = {} |
if self.CanMonitorPower(): |
self._final_freq = self.GetCpuFreq() |
@@ -68,11 +64,9 @@ class SysfsPowerMonitor(power_monitor.PowerMonitor): |
frequencies = SysfsPowerMonitor.ComputeCpuStats( |
SysfsPowerMonitor.ParseFreqSample(self._initial_freq), |
SysfsPowerMonitor.ParseFreqSample(self._final_freq)) |
- start_cstate = self._platform.ParseStateSample( |
- self._initial_cstate, self._start_time) |
- end_cstate = self._platform.ParseStateSample( |
- self._final_cstate, self._end_time) |
- cstates = SysfsPowerMonitor.ComputeCpuStats(start_cstate, end_cstate) |
+ cstates = SysfsPowerMonitor.ComputeCpuStats( |
+ self._platform.ParseStateSample(self._initial_cstate), |
+ self._platform.ParseStateSample(self._final_cstate)) |
for cpu in frequencies: |
out[cpu] = {'frequency_percent': frequencies[cpu]} |
out[cpu]['cstate_residency_percent'] = cstates[cpu] |
@@ -90,7 +84,7 @@ class SysfsPowerMonitor(power_monitor.PowerMonitor): |
for cpu in self._cpus: |
cpu_state_path = os.path.join(CPU_PATH, cpu, 'cpuidle/state*') |
stats[cpu] = self._platform.RunShellCommand( |
- 'cat %s %s %s' % (os.path.join(cpu_state_path, 'name'), |
+ 'cat %s %s %s; date +%%s' % (os.path.join(cpu_state_path, 'name'), |
os.path.join(cpu_state_path, 'time'), |
os.path.join(cpu_state_path, 'latency'))) |
return stats |