diff --git a/agent/Cargo.lock b/agent/Cargo.lock index 8f32a8d..a2b530b 100644 --- a/agent/Cargo.lock +++ b/agent/Cargo.lock @@ -248,7 +248,7 @@ dependencies = [ [[package]] name = "nanometrics-agent" -version = "0.1.10" +version = "0.1.11" dependencies = [ "libc", "rumqttc", diff --git a/server/transport/udp.go b/server/transport/udp.go index 817d2b7..9de69a3 100644 --- a/server/transport/udp.go +++ b/server/transport/udp.go @@ -2,7 +2,6 @@ package transport import ( "encoding/json" - "fmt" "log" "net" @@ -34,19 +33,21 @@ func StartUDP(addr string, handler func(*models.AgentMetrics)) error { func processUDP(data []byte, src string, handler func(*models.AgentMetrics)) { var m models.AgentMetrics if err := json.Unmarshal(data, &m); err != nil { - preview := "" - if len(data) > 0 { - end := len(data) - if end > 32 { - end = 32 - } - preview = fmt.Sprintf(" | src=%s | premiers octets: %x | texte: %q", src, data[:end], data[:end]) + end := 32 + if len(data) < end { + end = len(data) } - log.Printf("[udp] JSON invalide: %v%s", err, preview) + log.Printf("[udp] JSON invalide: %v | src=%s | octets: %x", err, src, data[:end]) return } if m.Hostname == "" { return } + // DEBUG SMART — logguer le payload ASUS complet + if m.Smart != nil { + log.Printf("[udp] SMART reçu de %s: %d disque(s)", m.Hostname, len(m.Smart)) + } else { + log.Printf("[udp] payload de %s (v%s): smart=nil hdd=%v", m.Hostname, m.Version, m.HDDTotal) + } handler(&m) }