1 2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 3<html><head><title>Python: module telemetry.internal.platform.power_monitor.sysfs_power_monitor</title> 4<meta charset="utf-8"> 5</head><body bgcolor="#f0f0f8"> 6 7<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> 8<tr bgcolor="#7799ee"> 9<td valign=bottom> <br> 10<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry.internal.html"><font color="#ffffff">internal</font></a>.<a href="telemetry.internal.platform.html"><font color="#ffffff">platform</font></a>.<a href="telemetry.internal.platform.power_monitor.html"><font color="#ffffff">power_monitor</font></a>.sysfs_power_monitor</strong></big></big></font></td 11><td align=right valign=bottom 12><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/internal/platform/power_monitor/sysfs_power_monitor.py">telemetry/internal/platform/power_monitor/sysfs_power_monitor.py</a></font></td></tr></table> 13 <p><tt># Copyright 2014 The Chromium Authors. All rights reserved.<br> 14# Use of this source code is governed by a BSD-style license that can be<br> 15# found in the LICENSE file.</tt></p> 16<p> 17<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 18<tr bgcolor="#aa55cc"> 19<td colspan=3 valign=bottom> <br> 20<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> 21 22<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> 23<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="collections.html">collections</a><br> 24<a href="telemetry.decorators.html">telemetry.decorators</a><br> 25</td><td width="25%" valign=top><a href="logging.html">logging</a><br> 26<a href="os.html">os</a><br> 27</td><td width="25%" valign=top><a href="telemetry.internal.platform.power_monitor.html">telemetry.internal.platform.power_monitor</a><br> 28<a href="re.html">re</a><br> 29</td><td width="25%" valign=top></td></tr></table></td></tr></table><p> 30<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 31<tr bgcolor="#ee77aa"> 32<td colspan=3 valign=bottom> <br> 33<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> 34 35<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> 36<td width="100%"><dl> 37<dt><font face="helvetica, arial"><a href="telemetry.internal.platform.power_monitor.html#PowerMonitor">telemetry.internal.platform.power_monitor.PowerMonitor</a>(<a href="__builtin__.html#object">__builtin__.object</a>) 38</font></dt><dd> 39<dl> 40<dt><font face="helvetica, arial"><a href="telemetry.internal.platform.power_monitor.sysfs_power_monitor.html#SysfsPowerMonitor">SysfsPowerMonitor</a> 41</font></dt></dl> 42</dd> 43</dl> 44 <p> 45<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 46<tr bgcolor="#ffc8d8"> 47<td colspan=3 valign=bottom> <br> 48<font color="#000000" face="helvetica, arial"><a name="SysfsPowerMonitor">class <strong>SysfsPowerMonitor</strong></a>(<a href="telemetry.internal.platform.power_monitor.html#PowerMonitor">telemetry.internal.platform.power_monitor.PowerMonitor</a>)</font></td></tr> 49 50<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> 51<td colspan=2><tt><a href="telemetry.internal.platform.power_monitor.html#PowerMonitor">PowerMonitor</a> that relies on sysfs to monitor CPU statistics on several<br> 52different platforms.<br> </tt></td></tr> 53<tr><td> </td> 54<td width="100%"><dl><dt>Method resolution order:</dt> 55<dd><a href="telemetry.internal.platform.power_monitor.sysfs_power_monitor.html#SysfsPowerMonitor">SysfsPowerMonitor</a></dd> 56<dd><a href="telemetry.internal.platform.power_monitor.html#PowerMonitor">telemetry.internal.platform.power_monitor.PowerMonitor</a></dd> 57<dd><a href="__builtin__.html#object">__builtin__.object</a></dd> 58</dl> 59<hr> 60Methods defined here:<br> 61<dl><dt><a name="SysfsPowerMonitor-CanMonitorPower"><strong>CanMonitorPower</strong></a>(*args, **kwargs)</dt></dl> 62 63<dl><dt><a name="SysfsPowerMonitor-GetCpuFreq"><strong>GetCpuFreq</strong></a>(self)</dt><dd><tt>Retrieve CPU frequency times from the device.<br> 64 <br> 65Returns:<br> 66 Dictionary containing frequency times for each CPU.</tt></dd></dl> 67 68<dl><dt><a name="SysfsPowerMonitor-GetCpuState"><strong>GetCpuState</strong></a>(self)</dt><dd><tt>Retrieve CPU c-state residency times from the device.<br> 69 <br> 70Returns:<br> 71 Dictionary containing c-state residency times for each CPU.</tt></dd></dl> 72 73<dl><dt><a name="SysfsPowerMonitor-StartMonitoringPower"><strong>StartMonitoringPower</strong></a>(self, _browser)</dt></dl> 74 75<dl><dt><a name="SysfsPowerMonitor-StopMonitoringPower"><strong>StopMonitoringPower</strong></a>(self)</dt></dl> 76 77<dl><dt><a name="SysfsPowerMonitor-__init__"><strong>__init__</strong></a>(self, linux_based_platform_backend, standalone<font color="#909090">=False</font>)</dt><dd><tt>Constructor.<br> 78 <br> 79Args:<br> 80 linux_based_platform_backend: A LinuxBasedPlatformBackend object.<br> 81 standalone: If it is not wrapping another monitor, set to True.<br> 82 <br> 83Attributes:<br> 84 _cpus: A list of the CPUs on the target device.<br> 85 _end_time: The time the test stopped monitoring power.<br> 86 _final_cstate: The c-state residency times after the test.<br> 87 _final_freq: The CPU frequency times after the test.<br> 88 _initial_cstate: The c-state residency times before the test.<br> 89 _initial_freq: The CPU frequency times before the test.<br> 90 _platform: A LinuxBasedPlatformBackend object associated with the<br> 91 target platform.<br> 92 _start_time: The time the test started monitoring power.</tt></dd></dl> 93 94<hr> 95Static methods defined here:<br> 96<dl><dt><a name="SysfsPowerMonitor-CombineResults"><strong>CombineResults</strong></a>(cpu_stats, power_stats)</dt><dd><tt>Add frequency and c-state residency data to the power data.<br> 97 <br> 98Args:<br> 99 cpu_stats: Dictionary containing CPU statistics.<br> 100 power_stats: Dictionary containing power statistics.<br> 101 <br> 102Returns:<br> 103 Dictionary in the format returned by StopMonitoringPower.</tt></dd></dl> 104 105<dl><dt><a name="SysfsPowerMonitor-ComputeCpuStats"><strong>ComputeCpuStats</strong></a>(initial, final)</dt><dd><tt>Parse the CPU c-state and frequency values saved during monitoring.<br> 106 <br> 107Args:<br> 108 initial: The parsed dictionary of initial statistics to be converted<br> 109 into percentages.<br> 110 final: The parsed dictionary of final statistics to be converted<br> 111 into percentages.<br> 112 <br> 113Returns:<br> 114 Dictionary containing percentages for each CPU as well as an average<br> 115 across all CPUs.</tt></dd></dl> 116 117<dl><dt><a name="SysfsPowerMonitor-ParseFreqSample"><strong>ParseFreqSample</strong></a>(sample)</dt><dd><tt>Parse a single frequency sample.<br> 118 <br> 119Args:<br> 120 sample: The single sample of frequency data to be parsed.<br> 121 <br> 122Returns:<br> 123 A dictionary associating a frequency with a time.</tt></dd></dl> 124 125<hr> 126Methods inherited from <a href="telemetry.internal.platform.power_monitor.html#PowerMonitor">telemetry.internal.platform.power_monitor.PowerMonitor</a>:<br> 127<dl><dt><a name="SysfsPowerMonitor-CanMeasurePerApplicationPower"><strong>CanMeasurePerApplicationPower</strong></a>(self)</dt><dd><tt>Returns True if the power monitor can measure power for the target<br> 128application in isolation. False if power measurement is for full system<br> 129energy consumption.</tt></dd></dl> 130 131<hr> 132Data descriptors inherited from <a href="telemetry.internal.platform.power_monitor.html#PowerMonitor">telemetry.internal.platform.power_monitor.PowerMonitor</a>:<br> 133<dl><dt><strong>__dict__</strong></dt> 134<dd><tt>dictionary for instance variables (if defined)</tt></dd> 135</dl> 136<dl><dt><strong>__weakref__</strong></dt> 137<dd><tt>list of weak references to the object (if defined)</tt></dd> 138</dl> 139</td></tr></table></td></tr></table><p> 140<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> 141<tr bgcolor="#55aa55"> 142<td colspan=3 valign=bottom> <br> 143<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> 144 145<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> 146<td width="100%"><strong>CPU_PATH</strong> = '/sys/devices/system/cpu/'</td></tr></table> 147</body></html>