Tested component versions: DCGM 4.6.1, go-dcgm v1.4611.2, go-nvml v0.13.4-0,
Go 1.27.1, and NVIDIA distroless CC v4.1.4.
Runtime and performance
- Release DCGM Exporter 4.8.4 with DCGM 4.6.1 and go-dcgm v1.4611.2.
- Add configurable DCGM field-watch retention limits through CLI, environment, and YAML configuration.
- Add the version 2 YAML schema with plural
collectionswhile preserving version 1 compatibility. - Add configurable limits and request coalescing for concurrent
/metricsscrapes. - Reduce allocations during metric gathering, transformation, and rendering.
- Support metric configurations containing more than 128 DCGM fields by batching reads and splitting oversized field groups.
- Add optional GPU bind/unbind detection that resets DCGM and NVML, then rebuilds metrics for the new GPU topology (#706, reported by @varunrsekar; #716 by @dharmjit).
- Honor
LD_LIBRARY_PATHwhen locating DCGM libraries.
Metrics and Kubernetes
- Add opt-in Go runtime, process, and HTTP handler metrics through
--enable-exporter-metrics,DCGM_EXPORTER_ENABLE_EXPORTER_METRICS, or YAML configuration. - Add opt-in GPU fabric health fields:
DCGM_FI_DEV_FABRIC_HEALTH_SUMMARYandDCGM_FI_DEV_FABRIC_HEALTH_MASK. - Add opt-in configured and enforced power-limit fields:
DCGM_FI_DEV_POWER_MGMT_LIMITandDCGM_FI_DEV_ENFORCED_POWER_LIMIT(#719 by @Kumaraditya18027). - Refresh the optional NVLink error-counter definitions.
- Remove retired PCIe throughput fields from the supplied metric configurations. Custom configurations that use them fail and point to
DCGM_FI_PROF_PCIE_TX_BYTESandDCGM_FI_PROF_PCIE_RX_BYTES. - Collect compute-instance-scoped DCGM fields from MIG compute instances and add the
GPU_CI_IDlabel while preserving whole-GPU collection. - Attribute DRA MIG metrics to pods when the MIG device is visible to DCGM at startup, and refresh allocation metadata when ResourceSlices change (#714, reported by @guptaNswati).
- Require an exporter restart after live Dynamic MIG creation or removal; changing the MIG layout while the exporter is running is not supported.
- Add the optional
pod_uidlabel to DRA-attributed metrics (#738 by @git-jxj; fixes #718). - Reuse the kubelet pod-resources gRPC connection to prevent memory growth (#705 by @AshwinRamaniPsg).
- Prefer NVML MIG profile names and make MIG profile lookup available outside Kubernetes (#713, reported by @rahulait).
- Deduplicate repeated job IDs within each HPC mapping file while preserving mappings across files.
- Warn when HPC job mapping entries do not match discovered MIG instances.
Helm, containers, and packages
- Include all supported metric preset CSV files in binary packages.
- Include third-party notices in archives, packages, and container images.
- Include the dynamic linker cache in the distroless image so DCGM libraries can be found at startup (#724 by @arielrahamim; fixes #612).
- Add Helm values for DaemonSet annotations (#723 by @ranyhb).
- Add Helm values for readiness and liveness probe timing and failure thresholds (#679 by @ChenZiHong-Gavin).
- Render debug dump compression explicitly, including when it is disabled.
- Document opt-in scheduling on nodes with the
nvidia.com/gpu:NoScheduletaint (#733 by @KR-Ravindra). - Move raw Kubernetes deployment examples under
deployment/examples. - Update the Helm chart and deployment examples for DCGM Exporter 4.8.4.
- Update Go to 1.27.1 and refresh Go dependencies, container base images, Kubernetes tools, and development tooling.
Testing and documentation
- Expand CPU-only performance benchmarks for metric rendering and scraping.
- Expand coverage for field-watch retention, oversized field groups, concurrent scrapes, DRA allocation, pre-existing MIG devices, and GPU bind/unbind lifecycle handling.
- Simplify the repository README and direct users to the official DCGM Exporter installation, configuration, metrics, and release documentation.
Validation: make validate-versions, make test-main, make test-static,
make check-fmt, and make lint.