Skip to content

Commit 1696b82

Browse files
Fix GPU power_draw & power_limit for schema v13
In the nvidia smi schema v13 the elements containing the power draw & power limit of the GPU have been changed. This commit contains a workaround for this, similar to an already existing workaround in the nvidia_smi plugin. CMK-29762 Closes: #891 Co-authored-by: Logan Connolly <logan.connolly@checkmk.com> Change-Id: If3d46b2246139306e5a7b8af750a22760761d7a6
1 parent 323c22e commit 1696b82

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

cmk/plugins/collection/agent_based/nvidia_smi.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ def parse_nvidia_smi(string_table: StringTable) -> Section:
151151
power_readings_element = "gpu_power_readings"
152152
if xml.find(f"gpu/{power_readings_element}") is None:
153153
power_readings_element = "power_readings"
154+
gpu_power_draw_element = "average_power_draw"
155+
if xml.find(f"gpu/{power_readings_element}/{gpu_power_draw_element}") is None:
156+
gpu_power_draw_element = "power_draw"
157+
gpu_power_limit_element = "current_power_limit"
158+
if xml.find(f"gpu/{power_readings_element}/{gpu_power_limit_element}") is None:
159+
gpu_power_limit_element = "power_limit"
154160
has_power_management = xml.find(f"gpu/{power_readings_element}/power_management") is not None
155161
return Section(
156162
timestamp=(
@@ -181,10 +187,10 @@ def parse_nvidia_smi(string_table: StringTable) -> Section:
181187
else PowerManagement.SUPPORTED
182188
),
183189
power_draw=get_float_from_element(
184-
gpu.find(f"{power_readings_element}/power_draw"), "W"
190+
gpu.find(f"{power_readings_element}/{gpu_power_draw_element}"), "W"
185191
),
186192
power_limit=get_float_from_element(
187-
gpu.find(f"{power_readings_element}/power_limit"), "W"
193+
gpu.find(f"{power_readings_element}/{gpu_power_limit_element}"), "W"
188194
),
189195
default_power_limit=get_float_from_element(
190196
gpu.find(f"{power_readings_element}/default_power_limit"), "W"

0 commit comments

Comments
 (0)