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
12 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 |
|
__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
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
__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
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
ZeusCPUInitError
Bases: ZeusBaseCPUError
Import error or CPU library initialization failures.
Source code in zeus/device/cpu/common.py
65 66 67 68 69 70 |
|
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
68 69 70 |
|
ZeusCPUNoPermissionError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for No Permission to perform CPU operation.
Source code in zeus/device/cpu/common.py
73 74 75 76 77 78 |
|
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
76 77 78 |
|
ZeusCPUNotFoundError
Bases: ZeusBaseCPUError
Zeus CPU exception class wrapper for Not Found CPU.
Source code in zeus/device/cpu/common.py
81 82 83 84 85 86 |
|
__init__
__init__(message)
Source code in zeus/device/cpu/common.py
84 85 86 |
|
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
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
|
__init__
__init__(cpu_index)
Source code in zeus/device/cpu/common.py
95 96 97 |
|
getTotalEnergyConsumption
abstractmethod
getTotalEnergyConsumption()
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
99 100 101 102 |
|
supportsGetDramEnergyConsumption
abstractmethod
supportsGetDramEnergyConsumption()
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
104 105 106 107 |
|
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
110 111 112 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 |
|
cpus
abstractmethod
property
cpus
Returns a list of CPU objects being tracked.
__init__
abstractmethod
__init__()
Source code in zeus/device/cpu/common.py
117 118 119 120 |
|
__del__
abstractmethod
__del__()
Shuts down the CPU monitoring library to release resources and clean up.
Source code in zeus/device/cpu/common.py
122 123 124 125 |
|
getTotalEnergyConsumption
getTotalEnergyConsumption(index)
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
133 134 135 |
|
supportsGetDramEnergyConsumption
supportsGetDramEnergyConsumption(index)
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
137 138 139 |
|
__len__
__len__()
Returns the number of CPUs being tracked.
Source code in zeus/device/cpu/common.py
141 142 143 |
|
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
146 147 148 149 150 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 |
|
cpus
property
cpus
Returns a list of CPU objects being tracked.
__init__
__init__()
Source code in zeus/device/cpu/common.py
152 153 154 |
|
__del__
__del__()
Shuts down the Intel CPU monitoring.
Source code in zeus/device/cpu/common.py
156 157 158 |
|
getTotalEnergyConsumption
getTotalEnergyConsumption(index)
Returns the total energy consumption of the specified powerzone. Units: mJ.
Source code in zeus/device/cpu/common.py
165 166 167 |
|
supportsGetDramEnergyConsumption
supportsGetDramEnergyConsumption(index)
Returns True if the specified CPU powerzone supports retrieving the subpackage energy consumption.
Source code in zeus/device/cpu/common.py
169 170 171 |
|
__len__
__len__()
Returns 0 since the object is empty.
Source code in zeus/device/cpu/common.py
173 174 175 |
|