roastcoffea.aggregation.backends.dask

Dask-specific aggregation parsers.

Parses Dask scheduler tracking data and (v0.2+) fine metrics into standardized worker metrics dictionaries.

Functions

calculate_average_memory_per_worker(...)

Calculate time-weighted average memory per worker.

calculate_peak_memory(worker_memory)

Calculate peak memory usage across all workers.

calculate_time_averaged_workers(worker_counts)

Calculate time-weighted average worker count.

Classes

DaskTrackingDataParser()

Parser for Dask scheduler tracking data.

class roastcoffea.aggregation.backends.dask.DaskTrackingDataParser[source]

Bases: AbstractTrackingDataParser

Parser for Dask scheduler tracking data.

parse_tracking_data(tracking_data)[source]

Parse Dask scheduler tracking data into aggregated metrics.

Parameters:

tracking_data (dict) – Raw tracking data from DaskMetricsBackend.stop_tracking()

Returns:

Aggregated worker metrics

Return type:

dict

roastcoffea.aggregation.backends.dask.calculate_time_averaged_workers(worker_counts)[source]

Calculate time-weighted average worker count.

Uses trapezoidal integration to compute the average number of workers weighted by the time each count was active.

Parameters:

worker_counts (dict) – Mapping from datetime to worker count

Returns:

Time-averaged worker count

Return type:

float

roastcoffea.aggregation.backends.dask.calculate_peak_memory(worker_memory)[source]

Calculate peak memory usage across all workers.

Parameters:

worker_memory (dict) – Dictionary from tracking data: worker_id -> [(timestamp, memory_bytes), …]

Returns:

Maximum memory usage observed

Return type:

float

roastcoffea.aggregation.backends.dask.calculate_average_memory_per_worker(worker_memory)[source]

Calculate time-weighted average memory per worker.

Computes time-weighted average for each worker, then averages across workers.

Parameters:

worker_memory (dict) – Dictionary from tracking data: worker_id -> [(timestamp, memory_bytes), …]

Returns:

Average memory per worker

Return type:

float