trinity.perf.resource_backends module#

System resource collection backends for performance tooling.

class trinity.perf.resource_backends.GPUSample(gpu_id: int, name: str, gpu_util_percent: float, gpu_memory_used_mb: float, gpu_memory_total_mb: float)[source]#

Bases: object

One GPU sample at one point in time.

gpu_id: int#
name: str#
gpu_util_percent: float#
gpu_memory_used_mb: float#
gpu_memory_total_mb: float#
to_dict() dict[source]#

Serialize the GPU sample to a dictionary.

__init__(gpu_id: int, name: str, gpu_util_percent: float, gpu_memory_used_mb: float, gpu_memory_total_mb: float) None#
class trinity.perf.resource_backends.ResourceSample(timestamp: float, cpu_percent: float, memory_rss_mb: float, memory_percent: float, gpu_metrics: list[GPUSample])[source]#

Bases: object

One system resource sample at one point in time.

timestamp: float#
cpu_percent: float#
memory_rss_mb: float#
memory_percent: float#
gpu_metrics: list[GPUSample]#
to_dict() dict[source]#

Serialize the resource sample to a dictionary.

__init__(timestamp: float, cpu_percent: float, memory_rss_mb: float, memory_percent: float, gpu_metrics: list[GPUSample]) None#
class trinity.perf.resource_backends.SystemResourceBackend(gpu_subsample_count: int = 5, gpu_subsample_interval_seconds: float = 0.2)[source]#

Bases: object

Collect system-level CPU, memory and per-GPU metrics.

__init__(gpu_subsample_count: int = 5, gpu_subsample_interval_seconds: float = 0.2) None[source]#
open() None[source]#

Initialize the GPU management library and validate the environment.

close() None[source]#

Release NVML resources.

sample() ResourceSample[source]#

Collect one resource sample.