Skip to content

Commit 7337c07

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 24ab3d3 commit 7337c07

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
@@ -152,6 +152,12 @@ def parse_nvidia_smi(string_table: StringTable) -> Section:
152152
power_readings_element = "gpu_power_readings"
153153
if xml.find(f"gpu/{power_readings_element}") is None:
154154
power_readings_element = "power_readings"
155+
gpu_power_draw_element = "average_power_draw"
156+
if xml.find(f"gpu/{power_readings_element}/{gpu_power_draw_element}") is None:
157+
gpu_power_draw_element = "power_draw"
158+
gpu_power_limit_element = "current_power_limit"
159+
if xml.find(f"gpu/{power_readings_element}/{gpu_power_limit_element}") is None:
160+
gpu_power_limit_element = "power_limit"
155161
has_power_management = xml.find(f"gpu/{power_readings_element}/power_management") is not None
156162
return Section(
157163
timestamp=(
@@ -182,10 +188,10 @@ def parse_nvidia_smi(string_table: StringTable) -> Section:
182188
else PowerManagement.SUPPORTED
183189
),
184190
power_draw=get_float_from_element(
185-
gpu.find(f"{power_readings_element}/power_draw"), "W"
191+
gpu.find(f"{power_readings_element}/{gpu_power_draw_element}"), "W"
186192
),
187193
power_limit=get_float_from_element(
188-
gpu.find(f"{power_readings_element}/power_limit"), "W"
194+
gpu.find(f"{power_readings_element}/{gpu_power_limit_element}"), "W"
189195
),
190196
default_power_limit=get_float_from_element(
191197
gpu.find(f"{power_readings_element}/default_power_limit"), "W"

0 commit comments

Comments
 (0)