Files
serv_benchmark/docs/TEST_BENCH.md
Gilles Soulier c67befc549 addon
2026-01-05 16:08:01 +01:00

4.0 KiB
Executable File

Test du script bench.sh avec corrections

Corrections appliquées

  1. Migration 002 appliquée - Ajout de la colonne network_results_json à la table benchmarks
  2. Payload RAM corrigé - Ajout de used_mb, free_mb, shared_mb dans le payload JSON
  3. Mode debug implémenté - Variable DEBUG_PAYLOAD=1 pour afficher le payload complet

Comment tester

Test normal (sans debug)

sudo bash /home/gilles/Documents/vscode/serv_benchmark/scripts/bench.sh

Test avec debug (affiche le payload)

DEBUG_PAYLOAD=1 sudo bash /home/gilles/Documents/vscode/serv_benchmark/scripts/bench.sh

Le mode debug va :

  1. Afficher le payload JSON complet formaté
  2. Sauvegarder le fichier dans /tmp/bench_payload_YYYYMMDD_HHMMSS.json
  3. Demander confirmation avant d'envoyer

Problèmes résolus

1. Erreur HTTP 500

Cause : Colonne network_results_json manquante dans la base de données Solution : Migration SQL appliquée directement via Docker

ALTER TABLE benchmarks ADD COLUMN network_results_json TEXT;

2. Données RAM manquantes dans le payload

Cause : Le script collectait les données (used_mb, free_mb, shared_mb) mais ne les incluait pas dans le payload JSON Solution : Ajout des champs dans la construction du payload (lignes 869-871 du script)

Avant :

ram: {
  total_mb: .total_mb,
  slots_total: .slots_total,
  // ... manque used_mb, free_mb, shared_mb
}

Après :

ram: {
  total_mb: .total_mb,
  used_mb: .used_mb,         // ✅ AJOUTÉ
  free_mb: .free_mb,         // ✅ AJOUTÉ
  shared_mb: .shared_mb,     // ✅ AJOUTÉ
  slots_total: .slots_total,
  // ...
}

3. Debug du payload

Implémentation : Mode debug avec variable d'environnement

# Activer le debug
DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh

# Le script affichera :
# ════════════════════════════════════════════════════════
# DEBUG: Payload JSON complet
# ════════════════════════════════════════════════════════
# {
#   "device_identifier": "lenovo-bureau",
#   "bench_script_version": "1.1.0",
#   "hardware": {
#     "cpu": { ... },
#     "ram": {
#       "total_mb": 7771,
#       "used_mb": 4530,      // ✅ Maintenant présent
#       "free_mb": 1291,      // ✅ Maintenant présent
#       "shared_mb": 1950,    // ✅ Maintenant présent
#       ...
#     },
#     ...
#   },
#   "results": {
#     "network": {
#       "upload_mbps": 427.86,
#       "download_mbps": 398.94,
#       "ping_ms": 44.16,
#       ...
#     }
#   }
# }
# ════════════════════════════════════════════════════════
# ✓ Payload sauvegardé dans: /tmp/bench_payload_20251207_233745.json
#
# Appuyez sur Entrée pour continuer l'envoi ou Ctrl+C pour annuler...

Vérification frontend

Après un nouveau benchmark réussi, vérifier dans l'interface web :

  1. Section RAM : Doit afficher le pourcentage d'utilisation et les détails

    💾 RAM: 8 GB (58% utilisé)
        Utilisée: 4GB • Libre: 1GB • Partagée: 2GB
        4 / 4 slots
    
  2. Section Réseau : Doit afficher les interfaces avec WoL et les résultats iperf3

    🔌 eno1 (ethernet)                    [WoL ✓]
        IP: 10.0.1.169
        MAC: xx:xx:xx:xx:xx:xx
        Vitesse: 1000 Mbps
    
    📈 Résultats Benchmark Réseau (iperf3)
    ↑ 427.86         ↓ 398.94        44.16           41.34
    Upload Mbps     Download Mbps    Ping ms         Score
    

Prochaines étapes

  1. Lancer un nouveau benchmark : sudo bash scripts/bench.sh
  2. Vérifier qu'il n'y a plus d'erreur HTTP 500
  3. Consulter la page device detail dans l'interface web
  4. Vérifier l'affichage des nouvelles données RAM et réseau