OpenLIT OTel GPU Collector
The OpenLIT OTel GPU Collector reports GPU hardware, GPU process, host, and Linux/NVIDIA CUDA eBPF metrics to DataKit through OpenTelemetry OTLP.
Configuration¶
Prerequisites¶
- DataKit is installed, and the OTLP network path from the OpenLIT Collector to DataKit is reachable.
- For NVIDIA GPU containers, install the NVIDIA driver, Docker, and NVIDIA Container Toolkit on the host. Map
/dev/kfdand/dev/drifor AMD, or/dev/drifor Intel. - Process-level GPU attribution requires the container to use the host PID namespace. Linux/NVIDIA CUDA eBPF metrics also require BPF/PERFMON capabilities and lockable memory. Without these permissions, device-level
hw.gpu.*metrics still work, but the process and eBPF views are incomplete.
Enable the DataKit OpenTelemetry Receiver¶
cd /usr/local/datakit/conf.d
sudo cp samples/opentelemetry.conf.sample opentelemetry.conf
sudo vim opentelemetry.conf
[[inputs.opentelemetry]]
customer_tags_all = true
[inputs.opentelemetry.grpc]
addr = "127.0.0.1:4317"
max_payload = 16777216
When the Collector and DataKit run on different hosts or do not use the host network, change addr to 0.0.0.0:4317, set the Collector endpoint to port 4317 of DataKit's actual private IP address or DNS name, and restrict sources through a firewall or security group. Do not expose port 4317 to the public network without protection.
Restart DataKit:
Start the OpenLIT OTel GPU Collector¶
The following example uses an NVIDIA GPU with the Collector and DataKit on the same host:
docker pull ghcr.io/openlit/otel-gpu-collector:latest
docker run -d \
--name otel-gpu-collector \
--restart unless-stopped \
--network host \
--gpus all \
--pid=host \
--cap-add BPF \
--cap-add PERFMON \
--ulimit memlock=-1:-1 \
-e OTEL_SERVICE_NAME=openlit-otel-gpu-collector \
-e OTEL_RESOURCE_ATTRIBUTES='deployment.environment=production,team=ml,host.name=gpu-host-01' \
-e OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 \
-e OTEL_EXPORTER_OTLP_PROTOCOL=grpc \
-e OTEL_METRIC_EXPORT_INTERVAL=15000 \
-e OTEL_GPU_EBPF_ENABLED=true \
ghcr.io/openlit/otel-gpu-collector:latest
For AMD containers, replace --gpus all with --device /dev/kfd:/dev/kfd --device /dev/dri:/dev/dri. For Intel, use --device /dev/dri:/dev/dri. AMD and Intel do not use the CUDA eBPF path, so empty CUDA-specific views are an expected capability limitation.
Kubernetes Deployment¶
OpenLIT officially supports running one Collector on each GPU node as a DaemonSet. This integration does not reproduce the complete YAML, which may change between versions. Refer directly to the official OpenLIT Kubernetes DaemonSet configuration, and point OTEL_EXPORTER_OTLP_ENDPOINT to a DataKit or OpenTelemetry Collector service reachable from the cluster.
For Kubernetes deployments, retain hostPID: true, GPU device access, the kubelet PodResources mount, and the BPF permissions required by eBPF. To derive host.type, cloud provider, and region from Node labels or providerID, grant the ServiceAccount the nodes/get permission as shown in the official example. Refer to the official documentation for identity configuration differences among EKS, GKE, AKS, and self-managed clusters.
Verification¶
- Query
otel_serviceunder Metrics in TrueWatch, and confirm thathw.gpu.up,hw.gpu.utilization,hw.gpu.memory.usage, and other metrics are continuously reported. - If the process or CUDA eBPF charts have no data, check the host PID setting, GPU device mappings, BPF/PERFMON capabilities, memlock, whether the workload has loaded
libcudart, and whether host security policies block eBPF uprobes.
Metrics¶
OpenLIT metrics are written to otel_service through OTLP. The following table covers GPU hardware, host system, Collector process, GPU workload process, and CUDA eBPF metrics from the official OpenLIT OTel GPU Collector Metrics Reference.
| MetricName | Metric Description | Dimensions | Unit |
|---|---|---|---|
otel_service.gpu.core.limit |
Gauge; total number of GPU CUDA cores reported by NVML. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
{cores} |
otel_service.gpu.kernel.block.size_bucket |
Histogram bucket; cumulative observations of threads per CUDA kernel block by the le boundary. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, le, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.block.size_count |
Histogram count; cumulative observations in the threads-per-CUDA-kernel-block histogram. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.block.size_max |
Histogram max; maximum threads per CUDA kernel block in the current aggregation period. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{thread} |
otel_service.gpu.kernel.block.size_min |
Histogram min; minimum threads per CUDA kernel block in the current aggregation period. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{thread} |
otel_service.gpu.kernel.block.size_sum |
Histogram sum; cumulative threads per CUDA kernel block. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{thread} |
otel_service.gpu.kernel.grid.size_bucket |
Histogram bucket; cumulative observations of total CUDA kernel grid threads by the le boundary. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, le, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.grid.size_count |
Histogram count; cumulative observations in the total CUDA kernel grid thread histogram. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.grid.size_max |
Histogram max; maximum total CUDA kernel grid thread count in the current aggregation period. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{thread} |
otel_service.gpu.kernel.grid.size_min |
Histogram min; minimum total CUDA kernel grid thread count in the current aggregation period. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{thread} |
otel_service.gpu.kernel.grid.size_sum |
Histogram sum; cumulative total CUDA kernel grid thread count. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{thread} |
otel_service.gpu.kernel.launch.calls |
Counter; cumulative CUDA kernel launches; the rate is the number of launches per second. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.shared_memory_bucket |
Histogram bucket; cumulative observations of dynamic shared memory used per CUDA kernel launch by the le boundary. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, le, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.shared_memory_count |
Histogram count; cumulative observations in the dynamic shared memory per CUDA kernel launch histogram. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{call} |
otel_service.gpu.kernel.shared_memory_max |
Histogram max; maximum dynamic shared memory used per CUDA kernel launch in the current aggregation period. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.kernel.shared_memory_min |
Histogram min; minimum dynamic shared memory used per CUDA kernel launch in the current aggregation period. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.kernel.shared_memory_sum |
Histogram sum; cumulative dynamic shared memory used per CUDA kernel launch. | container_id, cuda_kernel_name, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.memory.allocations |
Counter; cumulative bytes allocated through cudaMalloc. | container_id, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.memory.copies_bucket{le=10000} |
Histogram bucket; cumulative observations of asynchronous CUDA memory-copy bytes by the le boundary. | container_id, cuda_memcpy_kind, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, le, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{copy} |
otel_service.gpu.memory.copies_count |
Histogram count; cumulative observations in the asynchronous CUDA memory-copy byte histogram. | container_id, cuda_memcpy_kind, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, le, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{copy} |
otel_service.gpu.memory.copies_max |
Histogram max; maximum asynchronous CUDA memory-copy size in the current aggregation period. | container_id, cuda_memcpy_kind, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.memory.copies_min |
Histogram min; minimum asynchronous CUDA memory-copy size in the current aggregation period. | container_id, cuda_memcpy_kind, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.memory.copies_sum |
Histogram sum; cumulative asynchronous CUDA memory-copy bytes. | container_id, cuda_memcpy_kind, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.gpu.sm_active |
Gauge; ratio of the union of device-level launch-to-sync intervals, with raw values from 0 to 1. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.errors |
Counter; cumulative GPU ECC, PCIe, XID, or RAS errors. | error_type, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_type, hw_vendor |
{error} |
otel_service.hw.gpu.allocated |
Gauge; 1 when process GPU memory usage or GPU utilization reaches the configured threshold. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.clock.graphics |
Gauge; GPU Graphics/SM clock frequency. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
MHz |
otel_service.hw.gpu.clock.memory |
Gauge; GPU memory clock frequency. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
MHz |
otel_service.hw.gpu.energy.consumed |
Counter; cumulative energy consumed by the GPU. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
J |
otel_service.hw.gpu.fan_speed |
Gauge; GPU fan speed; availability depends on the vendor and device capabilities. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
{rpm} |
otel_service.hw.gpu.idle |
Gauge; GPU idle ratio; when utilization is available, this equals 1 minus utilization. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.interconnect.throughput |
Gauge; aggregate receive/transmit throughput of the GPU NVLink or XGMI interconnect. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_interconnect_type, hw_id, hw_name, hw_vendor, network_io_direction |
By/s |
otel_service.hw.gpu.memory.free |
UpDownCounter; free GPU memory in bytes. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
By |
otel_service.hw.gpu.memory.limit |
UpDownCounter; total GPU memory capacity. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
By |
otel_service.hw.gpu.memory.usage |
UpDownCounter; bytes of GPU memory in use. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
By |
otel_service.hw.gpu.memory.utilization |
Gauge; GPU memory controller utilization, with raw values from 0 to 1. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.pcie.throughput |
Gauge; GPU PCIe receive/transmit throughput. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, network_io_direction |
By/s |
otel_service.hw.gpu.power.draw |
Gauge; current GPU power draw. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
W |
otel_service.hw.gpu.power.limit |
Gauge; GPU power limit. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
W |
otel_service.hw.gpu.temperature |
Gauge; GPU die or memory temperature. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, sensor |
Cel |
otel_service.hw.gpu.throttled |
Gauge; 1 when thermal or power throttling is active; the reason is in the hw_gpu_throttle_reasons tag. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_throttle_reasons, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.throttled{hw_gpu_throttle_reasons!=none} |
Gauge; 1 when thermal or power throttling is active; the reason is in the hw_gpu_throttle_reasons tag. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_throttle_reasons, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.up |
Gauge; 1 when the GPU device is collected successfully. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.utilization{hw_gpu_task=decoder} |
Gauge; GPU compute, encode, or decode utilization, with raw values from 0 to 1. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_task, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.utilization{hw_gpu_task=encoder} |
Gauge; GPU compute, encode, or decode utilization, with raw values from 0 to 1. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_task, hw_id, hw_name, hw_vendor |
1 (0..1) |
otel_service.hw.gpu.utilization{hw_gpu_task=general} |
Gauge; GPU compute, encode, or decode utilization, with raw values from 0 to 1. | gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_task, hw_id, hw_name, hw_vendor, team |
1 (0..1) |
otel_service.process.cpu.time |
Counter; cumulative CPU time of the Collector process. | cpu_mode, host, host_name |
s |
otel_service.process.cpu.utilization |
Gauge; Collector process CPU utilization, with raw values from 0 to 1. | host, host_name |
1 (0..1) |
otel_service.process.gpu.core.usage |
Gauge; normalized average CUDA core usage from kernel launch to synchronization for the process. | container_id, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
{cores} |
otel_service.process.gpu.memory.usage |
UpDownCounter; GPU memory bytes used by the process on the specified GPU. | container_id, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
By |
otel_service.process.gpu.sm_active |
Gauge; proportion of the sampling period in which the process has a launch-to-sync interval. | container_id, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
1 (0..1) |
otel_service.process.gpu.utilization |
Gauge; process GPU utilization, with raw values from 0 to 1. | container_id, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_gpu_task, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
1 (0..1) |
otel_service.process.memory.usage |
UpDownCounter; resident memory RSS of the Collector process. | host, host_name |
By |
otel_service.process.memory.virtual |
UpDownCounter; virtual memory size of the Collector process. | host, host_name |
By |
otel_service.process.runtime.go.goroutines |
Gauge; number of Go goroutines in the Collector process. | host, host_name |
{goroutine} |
otel_service.process.runtime.go.mem.heap_alloc |
Gauge; allocated Go heap memory of the Collector process. | host, host_name |
By |
otel_service.process.thread.count |
UpDownCounter; number of operating-system threads in the Collector process. | host, host_name |
{thread} |
otel_service.process.unix.file_descriptor.count |
UpDownCounter; number of file descriptors opened by the Collector process. | host, host_name |
{file_descriptor} |
otel_service.process.uptime |
Gauge; uptime of the GPU-attributed process. | container_id, gpu_index, gpu_mig_device_id, gpu_mig_enabled, gpu_mig_instance_id, gpu_mig_profile, gpu_parent_uuid, gpu_pci_address, host, host_name, hw_id, hw_name, hw_vendor, k8s_container_name, k8s_namespace_name, k8s_pod_name, k8s_pod_uid, process_command_line, process_executable_name, process_owner, process_owner_userid, process_pid, process_state, process_workload_framework, process_workload_kind |
s |
otel_service.system.cpu.logical.count |
UpDownCounter; number of logical CPU cores on the host. | host, host_name |
{cpu} |
otel_service.system.cpu.utilization |
Gauge; utilization of each logical CPU core, with raw values from 0 to 1. | cpu_logical_number, host, host_name |
1 (0..1) |
otel_service.system.disk.io |
Counter; cumulative bytes read from and written to disk. | disk_io_direction, host, host_name, system_device |
By |
otel_service.system.disk.operations |
Counter; cumulative disk read and write operations. | disk_io_direction, host, host_name, system_device |
{operation} |
otel_service.system.filesystem.usage |
UpDownCounter; filesystem space in bytes by state. | host, host_name, system_device, system_filesystem_mountpoint, system_filesystem_state, system_filesystem_type |
By |
otel_service.system.filesystem.utilization |
Gauge; filesystem utilization, with raw values from 0 to 1. | host, host_name, system_device, system_filesystem_mountpoint, system_filesystem_type |
1 (0..1) |
otel_service.system.memory.usage |
UpDownCounter; host memory bytes by state. | host, host_name, system_memory_state |
By |
otel_service.system.memory.utilization |
Gauge; host memory utilization, with raw values from 0 to 1. | host, host_name |
1 (0..1) |
otel_service.system.network.errors |
Counter; cumulative receive and transmit errors on the network interface. | host, host_name, network_interface_name, network_io_direction |
{error} |
otel_service.system.network.io |
Counter; cumulative bytes received and sent by the network interface. | host, host_name, network_interface_name, network_io_direction |
By |