Skip to content

Intel GPUs ​

The collector monitors Intel GPUs via the Linux kernel's sysfs, hwmon, and DRM interfaces exposed by the i915 and Xe drivers. No Intel GPU tools, no OneAPI, and no user-space libraries are required.

INFO

Intel GPU support provides thermal, power, energy, and clock metrics. Utilization and memory metrics are not available via the sysfs/hwmon interface - these would require the Intel XPU Manager or similar tooling.

Requirements ​

  • Linux with the i915 or xe kernel driver
  • Kernel 5.10+ for sysfs metric exposure
  • Kernel 6.16+ for fan speed (fan1_input)

Collected metrics ​

MetricSourceRequirement
hw.gpu.temperaturehwmon temp1_inputkernel 5.10+
hw.gpu.power.drawhwmon power1_averagekernel 5.10+
hw.gpu.power.limithwmon power1_maxkernel 5.10+
hw.gpu.energy.consumedhwmon energy1_inputkernel 5.10+
hw.gpu.clock.graphicsDRM gt_cur_freq_mhzXe driver
hw.gpu.fan_speedhwmon fan1_inputkernel 6.16+

Docker ​

bash
docker run -d \
  --name otel-gpu-collector \
  --device /dev/dri:/dev/dri \
  --pid=host \
  -e OTEL_SERVICE_NAME=my-app \
  -e OTEL_RESOURCE_ATTRIBUTES='deployment.environment=production' \
  -e OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318 \
  <gpu-collector-image>

--pid=host is required for per-process GPU attribution (cmdline, PID, zombie state).

Docker Compose ​

yaml
services:
  otel-gpu-collector:
    image: <gpu-collector-image>
    pid: host
    environment:
      OTEL_SERVICE_NAME: my-app
      OTEL_RESOURCE_ATTRIBUTES: deployment.environment=production
      OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318
    devices:
      - /dev/dri:/dev/dri
    restart: always

Kubernetes (DaemonSet) ​

yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: otel-gpu-collector
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app: otel-gpu-collector
  template:
    metadata:
      labels:
        app: otel-gpu-collector
    spec:
      hostPID: true
      containers:
        - name: collector
          image: <gpu-collector-image>
          env:
            - name: OTEL_SERVICE_NAME
              value: gpu-collector
            - name: OTEL_RESOURCE_ATTRIBUTES
              value: deployment.environment=production
            - name: OTEL_EXPORTER_OTLP_ENDPOINT
              value: http://otel-collector.monitoring.svc.cluster.local:4318
          securityContext:
            privileged: false
          volumeMounts:
            - name: sys
              mountPath: /sys
              readOnly: true
            - name: dri
              mountPath: /dev/dri
      volumes:
        - name: sys
          hostPath:
            path: /sys
        - name: dri
          hostPath:
            path: /dev/dri

INFO

Docker --pid=host (or Kubernetes hostPID: true) and /dev/dri are required for per-process GPU attribution via DRM fdinfo.

Copyright © 2026 elsai foundry.