From 3cc4be2209c586706cdbd0bddd49a31c6a3ef998 Mon Sep 17 00:00:00 2001 From: Sergey Date: Sat, 16 May 2026 15:22:40 +0700 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D0=BC=20debug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- monitor.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/monitor.py b/monitor.py index 53d6982..eb2b349 100644 --- a/monitor.py +++ b/monitor.py @@ -109,16 +109,20 @@ def mikrotik_ping(api, address: str) -> Optional[float]: }, ) + log.info("DEBUG ping %s raw response: %s", address, results) + rtts = [] for row in results: - # Каждая строка — один пинг-ответ - # "time" присутствует только если ответ получен - time_val = row.get(b"time", b"").decode().replace("ms", "").strip() - if time_val: - try: - rtts.append(float(time_val)) - except ValueError: - pass + log.info("DEBUG row: %s", row) + # Пробуем все возможные ключи где может быть rtt + for key in (b"time", b"avg-rtt", b"rtt", b"avg"): + time_val = row.get(key, b"").decode().replace("ms", "").strip() + if time_val: + try: + rtts.append(float(time_val)) + break + except ValueError: + pass if rtts: return sum(rtts) / len(rtts)