telemetry.internal.platform.power_monitor.sysfs_power_monitor | index telemetry/internal/platform/power_monitor/sysfs_power_monitor.py

`# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.`

Modules
`` |  |

collections telemetry.decorators | logging os | telemetry.internal.platform.power_monitor re |

Classes
`` |  |

telemetry.internal.platform.power_monitor.PowerMonitor(__builtin__.object)
  SysfsPowerMonitor

class SysfsPowerMonitor(telemetry.internal.platform.power_monitor.PowerMonitor)
`` | `PowerMonitor that relies on sysfs to monitor CPU statistics on several different platforms.`

Method resolution order:
  SysfsPowerMonitor
  telemetry.internal.platform.power_monitor.PowerMonitor
  __builtin__.object

Methods defined here:

CanMonitorPower(*args, **kwargs)

GetCpuFreq(self)
  `Retrieve CPU frequency times from the device.
  Returns:
  Dictionary containing frequency times for each CPU.`

GetCpuState(self)
  `Retrieve CPU c-state residency times from the device.
  Returns:
  Dictionary containing c-state residency times for each CPU.`

StartMonitoringPower(self, _browser)

StopMonitoringPower(self)

__init__(self, linux_based_platform_backend, standalone=False)
  `Constructor.
  Args:
  linux_based_platform_backend: A LinuxBasedPlatformBackend object.
  standalone: If it is not wrapping another monitor, set to True.
  Attributes:
  _cpus: A list of the CPUs on the target device.
  _end_time: The time the test stopped monitoring power.
  _final_cstate: The c-state residency times after the test.
  _final_freq: The CPU frequency times after the test.
  _initial_cstate: The c-state residency times before the test.
  _initial_freq: The CPU frequency times before the test.
  _platform: A LinuxBasedPlatformBackend object associated with the
  target platform.
  _start_time: The time the test started monitoring power.`

Static methods defined here:

CombineResults(cpu_stats, power_stats)
  `Add frequency and c-state residency data to the power data.
  Args:
  cpu_stats: Dictionary containing CPU statistics.
  power_stats: Dictionary containing power statistics.
  Returns:
  Dictionary in the format returned by StopMonitoringPower.`

ComputeCpuStats(initial, final)
  `Parse the CPU c-state and frequency values saved during monitoring.
  Args:
  initial: The parsed dictionary of initial statistics to be converted
  into percentages.
  final: The parsed dictionary of final statistics to be converted
  into percentages.
  Returns:
  Dictionary containing percentages for each CPU as well as an average
  across all CPUs.`

ParseFreqSample(sample)
  `Parse a single frequency sample.
  Args:
  sample: The single sample of frequency data to be parsed.
  Returns:
  A dictionary associating a frequency with a time.`

Methods inherited from telemetry.internal.platform.power_monitor.PowerMonitor:

CanMeasurePerApplicationPower(self)
  `Returns True if the power monitor can measure power for the target
  application in isolation. False if power measurement is for full system
  energy consumption.`

Data descriptors inherited from telemetry.internal.platform.power_monitor.PowerMonitor:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

Data
`` |  | CPU_PATH = '/sys/devices/system/cpu/'