quality.profile

class RunProfile(duration: float = 0, success: bool = True, start_time: datetime.datetime | None = None, end_time: datetime.datetime | None = None, log_data: Dict = <factory>, stdout: str | None = None, stderr: str | None = None)[source]

Bases: object

Parameters:
  • duration (float)

  • success (bool)

  • start_time (datetime | None)

  • end_time (datetime | None)

  • log_data (Dict)

  • stdout (str | None)

  • stderr (str | None)

duration: float = 0
success: bool = True
start_time: datetime | None = None
end_time: datetime | None = None
log_data: Dict
stdout: str | None = None
stderr: str | None = None
asdict(exclude=())[source]

Converts the RunProfile to a dictionary, excluding specified keys.

Parameters:

exclude (Tuple, optional) – Tuple of keys to exclude, defaults to ()

Returns:

Dictionary representation

Return type:

Dict

filtered_log_data(component_type='encoder')[source]

Filters log data by component type, excluding keys not relevant to the component.

Parameters:

component_type (str, optional) – Type of component (“encoder” or “decoder”), defaults to “encoder”

Returns:

Filtered log data dictionary

Return type:

Dict

class PooledMetrics(mean: float = 0, median: float = 0, min: float = 0, max: float = 0, stddev: float = 0, cv: float = 0)[source]

Bases: object

Parameters:
  • mean (float)

  • median (float)

  • min (float)

  • max (float)

  • stddev (float)

  • cv (float)

mean: float = 0
median: float = 0
min: float = 0
max: float = 0
stddev: float = 0
cv: float = 0
asdict(exclude=())[source]

Converts the PooledMetrics to a dictionary, excluding specified keys.

Parameters:

exclude (Tuple, optional) – Tuple of keys to exclude, defaults to ()

Returns:

Dictionary representation

Return type:

Dict

class ExecutionMeasurements(runs: List[RunProfile] | None = None, pooled_metrics: PooledMetrics | None = None, memory_metrics: PooledMetrics | None = None)[source]

Bases: object

Parameters:
runs: List[RunProfile] | None = None
pooled_metrics: PooledMetrics | None = None
memory_metrics: PooledMetrics | None = None
convert_to_bytes(value, unit, multiplier=1024)[source]

Converts memory values to bytes based on the given unit.

Parameters:
  • value (float) – Numeric value to convert

  • unit (str) – Unit string (kbytes, mbytes, gbytes, tbytes, or bytes)

  • multiplier (int, optional) – Base multiplier for conversion, defaults to 1024

Returns:

Value converted to bytes

Return type:

float

get_metrics_from_runs(runs)[source]

Computes pooled execution metrics from a list of run profiles.

Parameters:

runs (List[RunProfile]) – List of RunProfile instances

Returns:

ExecutionMeasurements with pooled metrics, or None if no successful runs

Return type:

Optional[ExecutionMeasurements]