268 lines
7.0 KiB
Markdown
Executable File
268 lines
7.0 KiB
Markdown
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 :
|
|
|
|
```bash
|
|
# Avant (debug désactivé)
|
|
DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-0}"
|
|
|
|
# Après (debug activé en permanence)
|
|
DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-1}"
|
|
```
|
|
|
|
Puis exécutez normalement :
|
|
```bash
|
|
sudo bash scripts/bench.sh
|
|
```
|
|
|
|
### Option 2 : Activer via variable d'environnement (temporaire)
|
|
|
|
Sans modifier le script, utilisez :
|
|
```bash
|
|
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` :
|
|
|
|
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
|
|
}
|
|
}
|
|
════════════════════════════════════════════════════════
|
|
```
|
|
|
|
2. **Sauvegarde dans un fichier** avec timestamp :
|
|
```
|
|
✓ Payload sauvegardé dans: /tmp/bench_payload_20251207_234512.json
|
|
```
|
|
|
|
3. **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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
```json
|
|
"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
|
|
```json
|
|
"network": {
|
|
"interfaces": [
|
|
{
|
|
"wake_on_lan": true // Présent ✓
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### ✅ Résultats iperf3
|
|
```json
|
|
"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 :
|
|
```bash
|
|
DEBUG_PAYLOAD="${DEBUG_PAYLOAD:-0}" # Remettre à 0
|
|
```
|
|
|
|
### Méthode 2 : Sans variable d'environnement
|
|
|
|
Simplement exécuter :
|
|
```bash
|
|
sudo bash scripts/bench.sh # Sans DEBUG_PAYLOAD=1
|
|
```
|
|
|
|
## Nettoyage des fichiers debug
|
|
|
|
Les fichiers de debug s'accumulent dans `/tmp/`. Pour les nettoyer :
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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` |
|