addon
This commit is contained in:
267
docs/USAGE_DEBUG.md
Executable file
267
docs/USAGE_DEBUG.md
Executable file
@@ -0,0 +1,267 @@
|
||||
# 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` |
|
||||
Reference in New Issue
Block a user