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)