Skip to content

namespace and pod labels are sometimes missing from metrics #342

Description

@Altair-Bueno

What is the version?

3.4.2

What happened?

Labels like namespace and pod are sometimes missing from metrics that should contain them, like DCGM_FI_DEV_FB_USED

What did you expect to happen?

Quoting from #277

When a GPU workload is running on the cluster, the dcgm-exporter produces labels with pod, container, and namespace.

In reality, sometimes metrics don't include these labels

What is the GPU model?

4 nodes with 2 GPUs each. The nvidia-smi output corresponds to one of those nodes

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.08             Driver Version: 535.161.08   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla V100-PCIE-32GB           Off | 00000000:5B:00.0 Off |                    0 |
| N/A   26C    P0              24W / 250W |      4MiB / 32768MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  Tesla V100-PCIE-32GB           Off | 00000000:D7:00.0 Off |                    0 |
| N/A   28C    P0              22W / 250W |      4MiB / 32768MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

What is the environment?

Pod

How did you deploy the dcgm-exporter and what is the configuration?

Helm chart with these values

runtimeClassName: nvidia
podAnnotations:
  prometheus.io/scrape: "true"
  prometheus.io/port: "9400"

How to reproduce the issue?

I honestly don't know. May be related to CUDA out of memory errors, as we've mostly noticed this issue when TensorFlow crashes. But it is not consistent.

Anything else we need to know?

Logs:

$ kubectl logs -l app.kubernetes.io/name=dcgm-exporter
time="2024-06-13T07:48:03Z" level=info msg="Initializing system entities of type: GPU"
time="2024-06-13T07:48:04Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-06-13T07:48:04Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-06-13T07:48:04Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-06-13T07:48:04Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-06-13T07:48:04Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-06-13T07:48:04Z" level=info msg="Pipeline starting"
time="2024-06-13T07:48:04Z" level=info msg="Starting webserver"
time="2024-06-13T07:48:04Z" level=info msg="Listening on" address="[::]:9400"
time="2024-06-13T07:48:04Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false
time="2024-06-13T07:48:54Z" level=info msg="Initializing system entities of type: GPU"
time="2024-06-13T07:48:54Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-06-13T07:48:54Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-06-13T07:48:54Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-06-13T07:48:54Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-06-13T07:48:54Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-06-13T07:48:54Z" level=info msg="Pipeline starting"
time="2024-06-13T07:48:54Z" level=info msg="Starting webserver"
time="2024-06-13T07:48:54Z" level=info msg="Listening on" address="[::]:9400"
time="2024-06-13T07:48:54Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false
time="2024-06-13T07:49:46Z" level=info msg="Initializing system entities of type: GPU"
time="2024-06-13T07:49:46Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-06-13T07:49:46Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-06-13T07:49:46Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-06-13T07:49:46Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-06-13T07:49:46Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-06-13T07:49:46Z" level=info msg="Pipeline starting"
time="2024-06-13T07:49:46Z" level=info msg="Starting webserver"
time="2024-06-13T07:49:46Z" level=info msg="Listening on" address="[::]:9400"
time="2024-06-13T07:49:46Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false
time="2024-06-13T07:47:12Z" level=info msg="Initializing system entities of type: GPU"
time="2024-06-13T07:47:12Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-06-13T07:47:12Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-06-13T07:47:12Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-06-13T07:47:12Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-06-13T07:47:12Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-06-13T07:47:12Z" level=info msg="Starting webserver"
time="2024-06-13T07:47:12Z" level=info msg="Pipeline starting"
time="2024-06-13T07:47:12Z" level=info msg="Listening on" address="[::]:9400"
time="2024-06-13T07:47:12Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions