From 73b6827f6b61506fb1352126104d6d4d624c0230 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Fri, 2 Oct 2026 01:43:52 +0200 Subject: [PATCH] fix(bridge): Log-Fluten durch wiederholte hello-Meldungen abstellen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sat_hello und worker_hello kommen im Takt von ~25-30s erneut und wurden jedes Mal mit "online" geloggt. Dadurch war das Bridge-Log praktisch unlesbar: die interessanten Zeilen (Fehler, STT, Turns) gingen zwischen hunderten identischen Meldungen unter. Jetzt wird nur geloggt, wenn eine Box/ein Satellit NEU ist oder sich etwas Echtes geaendert hat (Modell, GPUs, Standort, caps, control) — so wie es host_hello schon vorher gemacht hat. Co-Authored-By: Claude Opus 5 (1M context) --- bridge/aria_bridge.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/bridge/aria_bridge.py b/bridge/aria_bridge.py index 57e10be..f8a8f9a 100644 --- a/bridge/aria_bridge.py +++ b/bridge/aria_bridge.py @@ -3550,6 +3550,10 @@ class ARIABridge: elif msg_type == "sat_hello": sid = (payload.get("id") or "").strip() if sid: + # sat_hello kommt alle ~25s erneut. Nur Neuanmeldungen und echte + # Aenderungen loggen — sonst ersaeuft das Bridge-Log in + # "Satellit online", und die interessanten Zeilen sind weg. + prev = self._satellites.get(sid) self._satellites[sid] = { "id": sid, "location": payload.get("location") or sid, @@ -3557,9 +3561,12 @@ class ARIABridge: "control": bool(payload.get("control")), "last_seen": time.time(), } - logger.info("[sat] Satellit online: %s (%s) caps=%s control=%s", - sid, self._satellites[sid]["location"], - self._satellites[sid]["caps"], self._satellites[sid]["control"]) + cur = self._satellites[sid] + if prev is None or any(prev.get(k) != cur.get(k) + for k in ("location", "caps", "control")): + logger.info("[sat] Satellit %s: %s (%s) caps=%s control=%s", + "online" if prev is None else "aktualisiert", + sid, cur["location"], cur["caps"], cur["control"]) return elif msg_type == "host_hello": @@ -3625,9 +3632,16 @@ class ARIABridge: "busy": bool(prev.get("busy", False)), "last_seen": time.time(), } - logger.info("[worker] online: %s (service=%s node=%s gpus=%s model=%s)", - iid, self._workers[iid]["service"], self._workers[iid]["node"], - self._workers[iid]["gpus"] or "?", self._workers[iid]["model"] or "?") + # Wie bei sat_hello: worker_hello wiederholt sich im Takt von + # ~30s. Nur neue Boxen und echte Aenderungen (anderes Modell, + # andere GPUs) ins Log — der Rest ist Rauschen. + cur = self._workers[iid] + if not prev or any(prev.get(k) != cur.get(k) + for k in ("service", "node", "gpus", "model", "models")): + logger.info("[worker] %s: %s (service=%s node=%s gpus=%s model=%s)", + "online" if not prev else "aktualisiert", + iid, cur["service"], cur["node"], + cur["gpus"] or "?", cur["model"] or "?") return elif msg_type == "stt_lease_request":