GPU Metrics
These metrics are scraped from DCGM Exporter every 30 seconds.Core GPU Metrics
GPU Usage (Composite Metric)
Standard GPU utilization (
chamber_gpu_utilization_percent) can be misleading — a single-threaded kernel running on 1 of 132 streaming multiprocessors (SMs) still reports 100% utilization. GPU Usage provides a more accurate picture.
How it’s calculated:
Power gate: If the GPU’s power draw is below 10% of its power limit, GPU Usage is reported as 0 regardless of the profiling metrics. This filters out noise from idle GPUs.
Why it matters: GPU Usage tells you whether your workload is actually keeping the GPU busy. A training job might show 100% standard utilization but only 30% GPU Usage, meaning most SMs are idle and you could optimize kernel launch, batch size, or parallelism.
Profiling Metrics
These are the raw profiling metrics behind the GPU Usage composite. They are useful for advanced debugging.Host Metrics
Collected via psutil every 30 seconds.Per-Process GPU Metrics
Collected via NVML for each process using a GPU. These are attributed to discovered workloads in the dashboard.Service-Level Metrics
In addition to infrastructure metrics, the Standalone Agent tracks services — applications running on your GPU hosts that are identified by theservice_name label. This is what powers the Services tab on the dashboard, giving you a per-service view of resource consumption and application health.
How Services Are Identified
The agent associates aservice_name with metrics through three mechanisms, in priority order:
OTEL_SERVICE_NAMEenvironment variable — If your GPU process hasOTEL_SERVICE_NAMEset, the agent reads it directly and uses it to tag all GPU and per-process metrics for that workload. This is the most reliable method. For Docker containers where the process environment may not be directly readable, the agent automatically falls back to querying the Docker Engine API via/var/run/docker.sockto read container environment variables — no configuration needed beyond ensuring the agent user has Docker socket access (the installer handles this by default).- OTLP
service.nameresource attribute — If your application exports OpenTelemetry metrics to the agent’s OTLP receiver (port 4317), theservice.nameresource attribute is extracted and attached to every metric in that export. When exactly one service is actively sending OTLP metrics, the agent also uses it to label GPU infrastructure metrics for the running workload. - Workload discovery — The agent classifies GPU processes by inspecting command lines and environment variables to identify ML frameworks (PyTorch, TensorFlow, vLLM, etc.) and launchers (torchrun, deepspeed, accelerate). This provides
job_nameandworkload_typelabels even withoutOTEL_SERVICE_NAME.
Application Metrics via OTLP
Any metrics your application exports over OpenTelemetry are forwarded to the Chamber dashboard with theservice_name label. These appear alongside GPU and host metrics on the Services tab, letting you correlate application behavior with infrastructure state.
Common examples of application metrics you can send:
These are examples — you can send any metric your application produces. See OTLP Integration for setup instructions.
What You See on the Services Dashboard
The Services tab (app.usechamber.io/dashboard?tab=services) groups metrics byservice_name, giving you a unified view per service:
- GPU utilization and GPU Usage attributed to each service — see which services are efficiently using their GPUs and which are underutilizing
- GPU memory per service — identify which service is consuming the most VRAM and whether it’s at risk of OOM
- Per-process breakdowns — drill into individual worker processes within a service (e.g., each rank in a distributed training job)
- Application metrics — any custom OTLP metrics your service exports, displayed alongside the infrastructure data
- Host CPU and memory — spot cases where a service is bottlenecked on CPU or host memory rather than GPU
Workload Discovery
The agent automatically discovers GPU-using processes and classifies them by framework:- PyTorch (including torchrun, torch.distributed)
- DeepSpeed
- vLLM
- Other GPU processes
- Process name and command line
- Framework type
- GPU memory usage per process
- Lifecycle state (running, terminated)
- Duration
torchrun --nproc_per_node=4), the agent groups worker processes under a single workload entry.
You can enrich workload metadata with environment variables. See Workload Labels.
Ensuring DCGM Profiling Metrics Are Collected
The GPU Usage metric and profiling metrics (gpu_sm_active, gpu_tensor_active, gpu_dram_active) require DCGM Exporter to expose profiling-level fields. The installer sets this up automatically, but if you are running DCGM Exporter manually or troubleshooting missing metrics, verify the following:
1. DCGM Exporter Must Be Running
DCGM_FI_. If this returns nothing, DCGM Exporter is not running or not reachable.
2. Profiling Fields Must Be Enabled
DCGM Exporter is configured by a CSV file that lists which fields to export. The profiling fields required are:
Verify these fields are in the DCGM Exporter counters file (commonly
/etc/dcgm-exporter/default-counters.csv or passed via the -f flag):
3. Profiling Must Be Supported by Your GPU
DCGM profiling metrics require:- NVIDIA driver 450+ (most modern drivers)
- A GPU that supports profiling (Volta, Turing, Ampere, Hopper, Blackwell — i.e., V100, T4, A100, H100, B200, etc.)
- No other profiling tool (e.g., Nsight Systems) actively holding a profiling session
If profiling metrics are unavailable, the core GPU metrics (utilization, memory, temperature, power) still collect normally. Only the GPU Usage composite metric will be missing.
4. Verify Profiling Metrics Are Flowing
Metric Labels
All metrics include these standard labels:
GPU metrics additionally include:
Process and service metrics additionally include:
What to Look For on the Dashboard
The Services tab (app.usechamber.io/dashboard?tab=services) gives you a per-host and per-GPU breakdown. Here are common patterns to watch for:Next Steps
OTLP Integration
Send your own application metrics to Chamber
Configuration
Tune collection intervals and other settings

