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

130 lines
4.0 KiB
Markdown
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)
```bash
sudo bash /home/gilles/Documents/vscode/serv_benchmark/scripts/bench.sh
```
### Test avec debug (affiche le payload)
```bash
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
```sql
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** :
```javascript
ram: {
total_mb: .total_mb,
slots_total: .slots_total,
// ... manque used_mb, free_mb, shared_mb
}
```
**Après** :
```javascript
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
```bash
# 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