Skip to content

go.d/nvidia_smi: restore stable temperature/power collection with driver 580 XML variants - #23047

Merged
ilyam8 merged 3 commits into
masterfrom
copilot/fix-gpu-temperature-collection
Jul 9, 2026
Merged

go.d/nvidia_smi: restore stable temperature/power collection with driver 580 XML variants#23047
ilyam8 merged 3 commits into
masterfrom
copilot/fix-gpu-temperature-collection

Conversation

Copilot AI commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

nvidia_smi.gpu_temperature could stay empty on newer NVIDIA driver XML despite valid <gpu_temp> values. Driver 580 adds extra temperature siblings and mixed N/A/whitespace values; current parsing and power-selection logic could drop otherwise valid metrics.

  • Parser hardening (value normalization)

    • Normalize incoming XML text before validation/parsing (TrimSpace).
    • Make unit stripping robust to leading/trailing/multi-space formatting, not just single-space tokenization.
  • Power metric fallback correctness

    • Reworked power_draw selection to skip invalid candidates (N/A, empty) and continue to instant_power_draw / average_power_draw when present.
    • Prevents losing power metrics when primary field exists but is not usable.
  • Regression coverage for Blackwell/580 shape

    • Added a focused fixture for RTX PRO 6000 + driver 580 temperature/power XML layout.
    • Extended collector tests to assert temperature and fallback power extraction from this payload.
for _, value := range []*string{
    gpuPowerDraw(gpu.PowerReadings),
    gpuPowerDraw(gpu.GPUPowerReadings),
    gpuInstantPowerDraw(gpu.GPUPowerReadings),
    gpuAveragePowerDraw(gpu.GPUPowerReadings),
} {
    if value == nil || !isValidValue(*value) {
        continue
    }
    addMetric(mx, px+"power_draw", *value, 0)
    return
}

Copilot AI changed the title [WIP] Fix GPU temperature not collected for RTX PRO 6000 Blackwell go.d/nvidia_smi: restore stable temperature/power collection with driver 580 XML variants Jul 8, 2026
Copilot finished work on behalf of ilyam8 July 8, 2026 10:07
Copilot AI requested a review from ilyam8 July 8, 2026 10:07
@sonarqubecloud

sonarqubecloud Bot commented Jul 8, 2026

Copy link
Copy Markdown

@ilyam8
ilyam8 marked this pull request as ready for review July 9, 2026 08:31
@github-actions github-actions Bot added area/collectors Everything related to data collection collectors/go.d area/go labels Jul 9, 2026
@ilyam8
ilyam8 enabled auto-merge (squash) July 9, 2026 08:40
@ilyam8
ilyam8 merged commit 22fac26 into master Jul 9, 2026
154 checks passed
@ilyam8
ilyam8 deleted the copilot/fix-gpu-temperature-collection branch July 9, 2026 09:30
@ilyam8 ilyam8 mentioned this pull request Jul 14, 2026
stelfrag pushed a commit to stelfrag/netdata that referenced this pull request Jul 14, 2026
…ver 580 XML variants (netdata#23047)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Ferroin pushed a commit that referenced this pull request Jul 15, 2026
…ver 580 XML variants (#23047)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/collectors Everything related to data collection area/go collectors/go.d

Projects

None yet

3 participants