7.0 KiB
Executable File
Mode DEBUG - Guide d'utilisation
Configuration du mode DEBUG
Le mode DEBUG permet d'afficher le payload JSON complet avant l'envoi au serveur et de le sauvegarder dans un fichier.
Option 1 : Activer directement dans le script (permanent)
Éditez le fichier scripts/bench.sh à la ligne 37 :
# Avant (debug désactivé)
DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-0}"
# Après (debug activé en permanence)
DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-1}"
Puis exécutez normalement :
sudo bash scripts/bench.sh
Option 2 : Activer via variable d'environnement (temporaire)
Sans modifier le script, utilisez :
DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh
Note : Cette méthode nécessite DEBUG_PAYLOAD=1 à chaque exécution.
Ce que fait le mode DEBUG
Lorsque DEBUG_PAYLOAD=1 :
-
Affiche le payload complet formaté avec
jq:════════════════════════════════════════════════════════ DEBUG: Payload JSON complet ════════════════════════════════════════════════════════ { "device_identifier": "lenovo-bureau", "bench_script_version": "1.1.0", "hardware": { "cpu": { "vendor": "GenuineIntel", "model": "Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz", "cores": 4, "threads": 4, ... }, "ram": { "total_mb": 7771, "used_mb": 4530, "free_mb": 1291, "shared_mb": 1950, ... }, "network": { "interfaces": [ { "name": "eno1", "type": "ethernet", "mac": "xx:xx:xx:xx:xx:xx", "ip": "10.0.1.169", "speed_mbps": 1000, "wake_on_lan": true } ] } }, "results": { "cpu": { "score": 12.17, ... }, "memory": { "score": 0.0, ... }, "disk": { "score": 67.65, ... }, "network": { "upload_mbps": 427.86, "download_mbps": 398.94, "ping_ms": 44.16, "score": 41.34 }, "global_score": 25.15 } } ════════════════════════════════════════════════════════ -
Sauvegarde dans un fichier avec timestamp :
✓ Payload sauvegardé dans: /tmp/bench_payload_20251207_234512.json -
Attend confirmation avant d'envoyer :
Appuyez sur Entrée pour continuer l'envoi ou Ctrl+C pour annuler...
Utilisation pratique
Vérifier les données avant envoi
# Activer le debug
DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh
# Le script s'arrête avant l'envoi
# Vous pouvez alors :
# - Vérifier le payload affiché
# - Consulter le fichier JSON sauvegardé
# - Appuyer sur Entrée pour continuer
# - Ou Ctrl+C pour annuler
Sauvegarder le payload sans envoyer
# Lancer avec debug
DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh
# Quand le script demande confirmation :
# Appuyez sur Ctrl+C pour annuler l'envoi
# Le payload est déjà sauvegardé dans /tmp/bench_payload_*.json
Analyser les payloads sauvegardés
# Lister tous les payloads sauvegardés
ls -lh /tmp/bench_payload_*.json
# Afficher le dernier payload
jq '.' /tmp/bench_payload_*.json | tail -n 1
# Comparer deux payloads
diff <(jq -S '.' /tmp/bench_payload_20251207_234512.json) \
<(jq -S '.' /tmp/bench_payload_20251207_235612.json)
Vérifications importantes
Avec le mode DEBUG activé, vous pouvez vérifier que :
✅ Données RAM complètes
"ram": {
"total_mb": 7771,
"used_mb": 4530, // Présent ✓
"free_mb": 1291, // Présent ✓
"shared_mb": 1950 // Présent ✓
}
✅ Données réseau Wake-on-LAN
"network": {
"interfaces": [
{
"wake_on_lan": true // Présent ✓
}
]
}
✅ Résultats iperf3
"results": {
"network": {
"upload_mbps": 427.86, // Présent ✓
"download_mbps": 398.94, // Présent ✓
"ping_ms": 44.16, // Présent ✓
"score": 41.34
}
}
Désactiver le mode DEBUG
Méthode 1 : Dans le script (permanent)
Éditez scripts/bench.sh ligne 37 :
DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-0}" # Remettre à 0
Méthode 2 : Sans variable d'environnement
Simplement exécuter :
sudo bash scripts/bench.sh # Sans DEBUG_PAYLOAD=1
Nettoyage des fichiers debug
Les fichiers de debug s'accumulent dans /tmp/. Pour les nettoyer :
# Supprimer tous les payloads de debug
rm /tmp/bench_payload_*.json
# Ou supprimer les payloads de plus de 7 jours
find /tmp -name "bench_payload_*.json" -mtime +7 -delete
Cas d'usage
1. Développement / Tests
Activez le debug en permanence dans le script pendant le développement.
2. Debugging d'erreurs
Si vous avez une erreur HTTP 422 ou 500, activez le debug pour voir exactement ce qui est envoyé.
3. Validation après modifications
Après modification du script, vérifiez que toutes les données attendues sont présentes.
4. Documentation
Sauvegardez un payload exemple pour la documentation de l'API.
Exemple complet
# Terminal 1 : Lancer avec debug
gilles@serveur:~$ DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh
# ... Le script collecte les données ...
# Affichage du payload complet
════════════════════════════════════════════════════════
DEBUG: Payload JSON complet
════════════════════════════════════════════════════════
{
"device_identifier": "lenovo-bureau",
...
}
════════════════════════════════════════════════════════
✓ Payload sauvegardé dans: /tmp/bench_payload_20251207_234512.json
Appuyez sur Entrée pour continuer l'envoi ou Ctrl+C pour annuler...
# [Vous appuyez sur Entrée]
✓ Envoi du payload vers: http://10.0.0.50:8007/api/benchmark
✓ Payload envoyé avec succès (HTTP 200)
# Terminal 2 : Analyser le payload sauvegardé
gilles@serveur:~$ jq '.hardware.ram' /tmp/bench_payload_20251207_234512.json
{
"total_mb": 7771,
"used_mb": 4530,
"free_mb": 1291,
"shared_mb": 1950,
...
}
Résumé
| Action | Commande |
|---|---|
| Activer temporairement | DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh |
| Activer en permanence | Éditer ligne 37 du script : DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-1}" |
| Désactiver | sudo bash scripts/bench.sh (sans DEBUG_PAYLOAD=1) |
| Voir les payloads sauvegardés | ls /tmp/bench_payload_*.json |
| Analyser un payload | jq '.' /tmp/bench_payload_YYYYMMDD_HHMMSS.json |
| Nettoyer | rm /tmp/bench_payload_*.json |