aitune.utils.monitoring.setup_hardware_metrics

View as Markdown

Hardware metrics collector.

Module Contents

Classes

NameDescription
HardwareMetricsSessionManages the lifecycle of hardware metrics collection.

Functions

NameDescription
_split_for_loggingSplit a wide metrics table into narrower sub-tables for logging.
disable_hardware_metricsDisable hardware metrics collection at runtime.
dump_metricsLogs metrics summary and dumps the metrics to a CSV file.
enable_hardware_metricsEnable hardware metrics collection at runtime.
get_default_collectorGet the default hardware metrics collector.
get_hardware_metricsGet metrics from the receiver.
snapshotDump currently collected hardware metrics to a CSV file.

Data

_DEFAULT_SESSION

API

class aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession()

Manages the lifecycle of hardware metrics collection.

Encapsulates the collector, receiver subprocess, runtime enable/disable state, and atexit registration.

_collector
HardwareMetricsCollector | None = None
_noop_collector
= NoOpHardwareMetricsCollector()
_receiver
ParentReceiver | None = None
_runtime_enabled
bool | None = None
aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession._ensure_initialized() -> None
aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession._should_collect() -> bool
aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession.disable() -> None

Disable collection at runtime, gracefully stopping any active session.

aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession.enable() -> None

Enable collection at runtime, overriding the env var.

aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession.get_collector() -> aitune.utils.monitoring.hardware_metrics.collector.NoOpHardwareMetricsCollector

Return the active collector, or a no-op when collection is disabled.

aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession.get_metrics() -> pandas.DataFrame | None

Return accumulated metrics, or None if collection was never started.

aitune.utils.monitoring.setup_hardware_metrics.HardwareMetricsSession.snapshot(
path: pathlib.Path,
reset_metrics: bool = True
) -> None

Dump currently collected metrics to a CSV file.

Parameters:

path
Path

Path to write the CSV file.

reset_metrics
boolDefaults to True

If True, clears the accumulated metrics after writing.

aitune.utils.monitoring.setup_hardware_metrics._split_for_logging(
flat: pandas.DataFrame,
n_index_cols: int
) -> list[pandas.DataFrame]

Split a wide metrics table into narrower sub-tables for logging.

Each split contains the index columns (Module, Backend) plus up to 6 metric columns. Returns the original frame unchanged when there are at most 6 metric columns.

aitune.utils.monitoring.setup_hardware_metrics.disable_hardware_metrics() -> None

Disable hardware metrics collection at runtime.

Overrides the AITUNE_HARDWARE_METRICS environment variable. If collection was active, gracefully stops the receiver (dumping any accumulated metrics) and resets state so that a future enable_hardware_metrics() call starts a fresh collection session.

aitune.utils.monitoring.setup_hardware_metrics.dump_metrics(
metrics: pandas.DataFrame
)

Logs metrics summary and dumps the metrics to a CSV file.

Parameters:

metrics
pd.DataFrame

The metrics to dump.

aitune.utils.monitoring.setup_hardware_metrics.enable_hardware_metrics() -> None

Enable hardware metrics collection at runtime.

Overrides the AITUNE_HARDWARE_METRICS environment variable. The collector and receiver subprocess are started lazily on the first use.

aitune.utils.monitoring.setup_hardware_metrics.get_default_collector() -> aitune.utils.monitoring.hardware_metrics.collector.NoOpHardwareMetricsCollector

Get the default hardware metrics collector.

aitune.utils.monitoring.setup_hardware_metrics.get_hardware_metrics() -> pandas.DataFrame | None

Get metrics from the receiver.

aitune.utils.monitoring.setup_hardware_metrics.snapshot(
path: pathlib.Path,
reset_metrics: bool = True
) -> None

Dump currently collected hardware metrics to a CSV file.

Parameters:

path
Path

Path to write the CSV file.

reset_metrics
boolDefaults to True

If True, clears the accumulated metrics after writing.

aitune.utils.monitoring.setup_hardware_metrics._DEFAULT_SESSION: HardwareMetricsSession = HardwareMetricsSession()