#!/bin/bash
#
# Monitoring de l'optimisation massive en temps réel
#

cd "$(dirname "$0")"

clear
echo "════════════════════════════════════════════════════════════"
echo "  📊 MONITORING OPTIMISATION MASSIVE"
echo "════════════════════════════════════════════════════════════"
echo ""

while true; do
    # Compter les workers actifs
    WORKERS_RUNNING=$(pgrep -f "massive_optimizer.py" | wc -l)

    # Compter les fichiers de résultats
    if [ -d "optimization_results_massive" ]; then
        TOTAL_TESTS=$(ls optimization_results_massive/*.json 2>/dev/null | wc -l)
    else
        TOTAL_TESTS=0
    fi

    # CPU usage des workers
    CPU_USAGE=$(ps aux | grep "massive_optimizer.py" | grep -v grep | awk '{sum+=$3} END {printf "%.1f", sum}')

    # Dernières lignes des logs
    echo "🔄 Workers actifs: $WORKERS_RUNNING"
    echo "📊 Tests effectués: $TOTAL_TESTS"
    echo "💻 CPU Usage: ${CPU_USAGE}%"
    echo ""

    echo "📝 Derniers événements:"
    echo "────────────────────────────────────────────────────────────"

    # Dernières configs profitables trouvées
    for log in logs_massive/worker_*.log; do
        if [ -f "$log" ]; then
            worker_num=$(basename "$log" | sed 's/worker_//;s/.log//')
            tail -100 "$log" | grep "PROFITABLE" | tail -1 | sed "s/^/[W$worker_num] /"
        fi
    done

    echo "────────────────────────────────────────────────────────────"
    echo ""
    echo "⌛ Rafraîchissement dans 10s... (Ctrl+C pour quitter)"
    sleep 10
    clear
    echo "════════════════════════════════════════════════════════════"
    echo "  📊 MONITORING OPTIMISATION MASSIVE"
    echo "════════════════════════════════════════════════════════════"
    echo ""
done
