Skip to main content
OTEL_GPU_COLLECTOR_MODE applies defaults for optional feature flags. Any explicitly set OTEL_GPU_* / OTEL_HOST_* / related env var always wins over the preset. Default: all (when unset or empty). Invalid values warn at startup and fall back to all.

Mode hierarchy

lightservingtrainingdeepall Naming tip: all means everything enabled. deep means deep-dive profiling (Kineto / Intel PT / high-res), not the kitchen sink.

Feature matrix

Y = mode turns the feature on when the env is unset. Soft-fail at runtime if libraries or hardware are missing.

Cost model

Production readiness

  • Linux (amd64/arm64) is the production target for eBPF, DCGM Prefer, NIC/PMU, Kineto, Intel PT, and deep/all extras.
  • Environment soft-skip: missing libraries (libdcgm, librdc), capabilities (CAP_BPF / CAP_PERFMON), non-Linux platforms, and absent hardware are logged as feature unavailable and skipped — the process stays up.
  • Collector faults are fatal: OpenTelemetry instrument-registration errors, control-plane misconfiguration (bad bind addr / remote without token), and a broken embedded BPF object stop startup with feature fault. These cannot be silenced.
  • Startup logs the mode feature summary (requested), effective feature availability (what started), plus unavailable and faults lists.
  • Prefer DCGM only when libdcgm is available; otherwise Prefer is inactive and NVML keeps overlapping series.
  • For inference fleets that want a smaller continuous footprint, use serving (or light for scrape-only). Use training/deep when host caps and libraries match.

Smaller continuous footprint

Previously most optional features defaulted off. Default all now enables more continuous scrapes and arms on-demand listeners. For a smaller footprint:

Hosting checklist: collector vs Kineto vs SDK

Join keys today: process.pid, hw.id, time, process.workload.*. W3C trace_id on GPU series is future SDK correlation work. See Configuration and Metrics.