common
zeus.device.cpu.common
Error wrappers and classes common to all CPU vendors.
CpuDramMeasurement
dataclass
Represents a measurement of CPU and DRAM energy consumption.
Attributes:
| Name | Type | Description |
|---|---|---|
cpu_mj |
int
|
The CPU energy consumption in millijoules. |
dram_mj |
Optional[int]
|
The DRAM energy consumption in millijoules. Defaults to None. |
Source code in zeus/device/cpu/common.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | |
__sub__
__sub__(other)
Subtracts the values of another CpuDramMeasurement from this one.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other |
CpuDramMeasurement
|
The other CpuDramMeasurement to subtract. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
CpuDramMeasurement |
CpuDramMeasurement
|
A new CpuDramMeasurement with the result of the subtraction. |
Source code in zeus/device/cpu/common.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
__truediv__
__truediv__(other)
Divides the values of this CpuDramMeasurement by a float.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other |
int | float
|
The float to divide by. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
CpuDramMeasurement |
CpuDramMeasurement
|
A new CpuDramMeasurement with the result of the division. |
Raises:
| Type | Description |
|---|---|
ZeroDivisionError
|
If division by zero is attempted. |
Source code in zeus/device/cpu/common.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | |
ZeusCPUInitError
Bases: ZeusBaseCPUError
Import error or CPU library initialization failures.
Source code in zeus/device/cpu/common.py
66 67 68 69 70 71 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
69 70 71 | |
ZeusCPUNoPermissionError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for No Permission to perform CPU operation.
Source code in zeus/device/cpu/common.py
74 75 76 77 78 79 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
77 78 79 | |
ZeusCPUNotFoundError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for Not Found CPU.
Source code in zeus/device/cpu/common.py
82 83 84 85 86 87 | |
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
85 86 87 | |
CPU
Bases: ABC
Abstract base class for CPU management.
This class defines the interface for interacting with CPUs, subclasses should implement the methods to interact with specific CPU libraries.
Source code in zeus/device/cpu/common.py
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | |
__init__
__init__(cpu_index)
Source code in zeus/device/cpu/common.py
96 97 98 | |
get_total_energy_consumption
abstractmethod
get_total_energy_consumption()
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
100 101 102 103 104 | |
supports_get_dram_energy_consumption
abstractmethod
supports_get_dram_energy_consumption()
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
106 107 108 109 110 | |
CPUs
Bases: ABC
An abstract base class for CPU manager object.
This class defines the essential interface and common functionality for CPU management, instantiating multiple CPU objects for each CPU being tracked.
Forwards the call for a specific method to the corresponding CPU object.
Source code in zeus/device/cpu/common.py
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | |
cpus
abstractmethod
property
cpus
Returns a list of CPU objects being tracked.
__init__
abstractmethod
__init__()
Source code in zeus/device/cpu/common.py
120 121 122 123 | |
__del__
abstractmethod
__del__()
Shuts down the CPU monitoring library to release resources and clean up.
Source code in zeus/device/cpu/common.py
125 126 127 128 | |
get_total_energy_consumption
get_total_energy_consumption(index)
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
136 137 138 139 | |
supports_get_dram_energy_consumption
supports_get_dram_energy_consumption(index)
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
141 142 143 144 | |
__len__
__len__()
Returns the number of CPUs being tracked.
Source code in zeus/device/cpu/common.py
146 147 148 | |
EmptyCPUs
Bases: CPUs
Empty CPUs management object to be used when CPUs management object is unavailable.
Calls to any methods will return a value error and the length of this object will be 0
Source code in zeus/device/cpu/common.py
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | |
cpus
property
cpus
Returns a list of CPU objects being tracked.
__init__
__init__()
Source code in zeus/device/cpu/common.py
157 158 159 | |
__del__
__del__()
Shuts down the Intel CPU monitoring.
Source code in zeus/device/cpu/common.py
161 162 163 | |
get_total_energy_consumption
get_total_energy_consumption(index)
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
170 171 172 173 | |
supports_get_dram_energy_consumption
supports_get_dram_energy_consumption(index)
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
175 176 177 178 | |
__len__
__len__()
Returns 0 since the object is empty.
Source code in zeus/device/cpu/common.py
180 181 182 | |