mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-08-08 01:42:49 +02:00
log trace packet storage
This commit is contained in:
@@ -266,6 +266,7 @@ class RepeaterHandler(BaseHandler):
|
||||
self.recent_packets.pop(0)
|
||||
|
||||
def log_trace_record(self, packet_record: dict) -> None:
|
||||
"""Manually log a packet trace record (used by external callers)"""
|
||||
self.recent_packets.append(packet_record)
|
||||
|
||||
self.rx_count += 1
|
||||
@@ -274,6 +275,13 @@ class RepeaterHandler(BaseHandler):
|
||||
else:
|
||||
self.dropped_count += 1
|
||||
|
||||
# Store to persistent storage (same as __call__ does)
|
||||
if self.storage:
|
||||
try:
|
||||
self.storage.record_packet(packet_record)
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to store packet record: {e}")
|
||||
|
||||
if len(self.recent_packets) > self.max_recent_packets:
|
||||
self.recent_packets.pop(0)
|
||||
|
||||
|
||||
@@ -205,6 +205,7 @@ class RepeaterDaemon:
|
||||
"path_snrs": path_snrs, # ["58(14.5dB)", "19(4.8dB)"]
|
||||
"path_snr_details": path_snr_details, # [{"hash": "29", "snr_raw": 58, "snr_db": 14.5}]
|
||||
"is_trace": True,
|
||||
"raw_packet": packet.write_to().hex() if hasattr(packet, "write_to") else None,
|
||||
}
|
||||
self.repeater_handler.log_trace_record(packet_record)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user