def _is_workload_balanced()

in cost-optimization/hpa-config-recommender/src/hpaconfigrecommender/plan_workload_simulation.py [0:0]


def _is_workload_balanced(workload_df: pd.DataFrame) -> bool:
    """
    Determines if the workload is balanced based on the ratio of CPU
    usage standard deviation to average usage.

    Args:
        workload_df (pd.DataFrame): DataFrame containing the
        workload metrics with "stddev_containers_cpu_usage"
        and "avg_container_cpu_usage".

    Returns:
        A boolean indicating if the workload
        is balanced (True), unbalanced (False), or None for invalid
        data.
    """
    if workload_df.empty:
        logger.warning("Workload DataFrame is empty,")
        return None

    try:
        avg_cpu_usage = workload_df["avg_container_cpu_usage"].mean()
        stddev_cpu_usage = workload_df["stddev_containers_cpu_usage"].mean()

        if avg_cpu_usage == 0:
            logger.info("Division by zero in workload balancing calculation.")
            return None

        ratio = (2 * stddev_cpu_usage) / avg_cpu_usage
        is_balanced = ratio < 0.25
        logger.info(
            "Workload is balanced: %s (ratio = %.3f)", is_balanced, ratio
        )
        return is_balanced

    except KeyError as e:
        logger.error("KeyError: Missing required column %s", {e})
        return True