DCGM Exporter Metrics#
Metric Selection Model#
DCGM Exporter exposes the fields selected by its collector CSV, ConfigMap, or YAML configuration. This page documents the shipped collector configuration and exporter-specific behavior. Use DCGM Field Identifiers for authoritative field meanings, units, entity support, and hardware requirements.
This page exhaustively lists the fields shipped with this DCGM Exporter
release and all exporter-owned metric families. It does not list every DCGM
field that a custom collector can select or guarantee that a configured field
will be emitted on a particular system. Use the DCGM field reference for field
semantics and the exporter’s /metrics endpoint for its effective runtime
output.
An active CSV row is enabled by default. A commented row is shipped as an
optional example. The configured Prometheus type is used as written; DCGM
Exporter does not infer or semantically validate it against the DCGM field
definition. A row with type label adds a label when DCGM returns a value
for the selected entity instead of creating its own metric family.
Selecting a row does not guarantee runtime emission. DCGM, the GPU and other entities, the driver, permissions, and the deployment configuration determine whether a field is available.
Shipped Default Metrics#
These active rows are enabled by the shipped default collector CSV. The linked canonical field column makes legacy exporter names explicit and leads to the source of truth for what each field means.
Configured name |
Prometheus type |
Canonical DCGM field |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shipped Optional Metrics#
These rows are present but commented in the default collector CSV. Enable them
with a custom CSV, YAML metrics.fields list, or Helm customMetrics
value. Exporter-owned rows are documented separately below.
Configured name |
Prometheus type |
Canonical DCGM field |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Custom Collector Fields#
A custom collector can select a field name recognized by the go-dcgm version built into DCGM Exporter, provided that the running DCGM recognizes the resolved field ID and the field is compatible with an entity that the exporter collects. Use DCGM Field Identifiers for upstream field definitions and availability requirements.
Each CSV row has exactly three fields: DCGM field name, Prometheus type, and
help text. The help text becomes the Prometheus HELP description; it does
not affect collection. Supported types are counter, gauge, untyped,
and label.
Use gauge or untyped for general numeric fields and counter only
for nonnegative cumulative values. A negative counter value is rejected. A
string field configured as a metric cannot be rendered as a Prometheus scalar
and should normally be configured as label. Integer, double, and string
fields can supply label values. Timestamp and binary/blob field values are
skipped.
A configured label is attached only when the field is compatible with the sample entity and DCGM returns a nonblank value. For the CSV format and loading options, see Select Metrics.
Exporter-Owned Metrics#
These DCGM_EXP_* metrics are calculated by DCGM Exporter from DCGM APIs or
source fields. They are shipped as commented, opt-in rows in the default CSV.
Metric |
Prometheus type |
Source reference |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Windowed sample counts#
DCGM_EXP_XID_ERRORS_COUNT counts XID samples returned by DCGM in the
configured window and groups them by the numeric xid label.
DCGM_EXP_CLOCK_EVENTS_COUNT counts samples in that window for which each
clock-event bit is active and groups them by clock_event. These values count
sample records, not unique incidents or clock-event transitions, so collection
cadence affects the result.
Both families add window_size_in_ms. When DCGM returns no valid source
sample for an entity, the exporter emits one zero-valued series with
window_size_in_ms but without xid or clock_event. If a clock sample
is present but has no recognized active reason, no clock-event series is
emitted for that sample.
Cumulative totals#
DCGM_EXP_XID_ERRORS_TOTAL counts nonzero XID records observed after the
collector starts and groups them by xid. DCGM_EXP_CLOCK_EVENTS_TOTAL
counts inactive-to-active transitions for each clock_event. It primes the
initial clock-event state without counting reasons that were already active.
A cumulative series is absent until its XID or clock event is observed. Totals reset when the exporter starts or the collectors are rebuilt by hot reload.
Clock-event label values#
The count and total clock-event families can use these clock_event values:
gpu_idle, clocks_setting, power_cap, hw_slowdown, sync_boost, sw_thermal, hw_thermal, hw_power_brake, display_clocks
GPU health status#
DCGM_EXP_GPU_HEALTH_STATUS emits one series for each exporter health watch
on each monitored GPU. The metric value is the DCGM health result:
Value |
Result |
|---|---|
0 |
|
10 |
|
20 |
|
Every series adds health_watch, health_error_code,
health_error_severity, and health_error_category. A passing default uses
DCGM_FR_OK with severity and category NONE. Unknown metadata is labeled
UNKNOWN.
Health watch values:
PCIE, NVLINK, PMU, MCU, MEM, SM, INFOROM, THERMAL, POWER, DRIVER, ALL
Health severity values:
NONE, MONITOR, ISOLATE, UNKNOWN, TRIAGE, CONFIG, RESET
Health category values:
NONE, PERF_THRESHOLD, PERF_VIOLATION, SOFTWARE_CONFIG, SOFTWARE_LIBRARY, SOFTWARE_XID, SOFTWARE_CUDA, SOFTWARE_EUD, SOFTWARE_OTHER, HARDWARE_THERMAL, HARDWARE_MEMORY, HARDWARE_NVLINK, HARDWARE_NVSWITCH, HARDWARE_PCIE, HARDWARE_POWER, HARDWARE_OTHER, INTERNAL_OTHER, UNKNOWN
P2P status#
DCGM_EXP_P2P_STATUS emits the off-diagonal entries of the DCGM GPU P2P
status matrix. Each series represents an ordered local-GPU and peer-GPU pair,
not one physical NVLink. peer_gpu identifies the peer matrix index, and
link_status provides the symbolic status.
Value |
link_status |
|---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
An unexpected numeric value is preserved as the metric value and uses
link_status="Unknown".
Exporter Labels#
Entity labels#
Entity |
Always present |
Conditional |
|---|---|---|
|
|
|
|
|
Parent labels: |
|
|
|
|
|
|
|
|
|
Configuration and mapping labels#
Source |
Labels |
Condition |
|---|---|---|
UUID namespace |
|
GPU entity samples. |
Hostname |
|
Added when hostname collection is enabled; omitted by |
CSV label rows |
configured field name |
Added only when DCGM returns a nonblank value for a compatible sample entity. |
XID field |
|
Added to |
Kubernetes pod mapping |
|
Added by |
Old Kubernetes names |
|
Replace the current pod label names with |
Runtime container labels |
|
Added in non-Kubernetes mode when |
Pod UID |
|
Added when pod UID collection is enabled. |
Pod labels |
|
Added when pod label collection is enabled; colliding labels are prefixed. |
Virtual GPUs |
|
Added for Kubernetes virtual GPU sharing paths. |
DRA |
|
Added when Kubernetes DRA mapping is enabled and available. |
HPC job mapping |
|
Added when |
Exporter-owned metric labels#
Metric |
Labels |
Presence |
|---|---|---|
|
|
The window label is always present. |
|
|
The window label is always present. |
|
|
A series and its label appear only after that XID is observed. |
|
|
A series and its label appear only after that transition is observed. |
|
|
Present on every emitted health series. |
|
|
Present on every emitted ordered GPU-pair series. |
Runtime Considerations#
Profiling fields#
At startup, DCGM Exporter queries the supported profiling metric groups using
GPU 0 and applies that capability set when it loads configured
DCGM_FI_PROF_* fields. Unsupported profiling rows are skipped. The
DCGM profiling documentation describes
hardware support, concurrent metric-group limits, and blank values.
MIG and entity selection#
In MIG mode, exporter device selectors can choose full GPUs, GPU instances, or
both. MIG instance samples add GPU_I_PROFILE and GPU_I_ID. Which fields
DCGM supports on a GPU, GPU instance, compute instance, NvSwitch, NvLink, CPU,
or CPU core is defined by DCGM rather than this inventory. See
Metrics on Multi-Instance GPU and Fields and Watches.
Kubernetes, DRA, vGPU, runtime-container, and HPC mapping add labels; they do not make an unsupported DCGM field available. YAML watch groups change polling cadence for matching fields without changing field support.
DCGM connection and version#
Runtime results also depend on the entities and permissions visible through the DCGM host engine. Run DCGM Exporter with the DCGM version paired with that exporter release; mismatched combinations are untested and unsupported.