From 2c25b75042411eb4d3af148e34d1b4eacc09ce19 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Mon, 27 Jan 2025 14:40:49 +0100 Subject: [PATCH] Added aggregate propagation stats --- sbapp/sideband/sense.py | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/sbapp/sideband/sense.py b/sbapp/sideband/sense.py index 05dc81f..cdcaab7 100644 --- a/sbapp/sideband/sense.py +++ b/sbapp/sideband/sense.py @@ -2947,9 +2947,23 @@ class LXMFPropagation(Sensor): f"{topic}/max_peers": v["max_peers"], } + peered_rx_bytes = 0 + peered_tx_bytes = 0 + peered_offered = 0 + peered_outgoing = 0 + peered_incoming = 0 + peered_unhandled = 0 + peered_max_unhandled = 0 for peer_id in v["peers"]: p = v["peers"][peer_id] pid = mqtt_desthash(peer_id) + peer_rx_bytes = p["rx_bytes"]; peered_rx_bytes += peer_rx_bytes + peer_tx_bytes = p["tx_bytes"]; peered_tx_bytes += peer_tx_bytes + peer_messages_offered = p["messages_offered"]; peered_offered += peer_messages_offered + peer_messages_outgoing = p["messages_outgoing"]; peered_outgoing += peer_messages_outgoing + peer_messages_incoming = p["messages_incoming"]; peered_incoming += peer_messages_incoming + peer_messages_unhandled = p["messages_unhandled"]; peered_unhandled += peer_messages_unhandled + peered_max_unhandled = max(peered_max_unhandled, peer_messages_unhandled) rendered[f"{topic}/peers/{pid}/type"] = p["type"] rendered[f"{topic}/peers/{pid}/state"] = p["state"] rendered[f"{topic}/peers/{pid}/alive"] = p["alive"] @@ -2962,12 +2976,20 @@ class LXMFPropagation(Sensor): rendered[f"{topic}/peers/{pid}/str"] = p["str"] rendered[f"{topic}/peers/{pid}/transfer_limit"] = p["transfer_limit"] rendered[f"{topic}/peers/{pid}/network_distance"] = p["network_distance"] - rendered[f"{topic}/peers/{pid}/rx_bytes"] = p["rx_bytes"] - rendered[f"{topic}/peers/{pid}/tx_bytes"] = p["tx_bytes"] - rendered[f"{topic}/peers/{pid}/messages_offered"] = p["messages_offered"] - rendered[f"{topic}/peers/{pid}/messages_outgoing"] = p["messages_outgoing"] - rendered[f"{topic}/peers/{pid}/messages_incoming"] = p["messages_incoming"] - rendered[f"{topic}/peers/{pid}/messages_unhandled"] = p["messages_unhandled"] + rendered[f"{topic}/peers/{pid}/rx_bytes"] = peer_rx_bytes + rendered[f"{topic}/peers/{pid}/tx_bytes"] = peer_tx_bytes + rendered[f"{topic}/peers/{pid}/messages_offered"] = peer_messages_offered + rendered[f"{topic}/peers/{pid}/messages_outgoing"] = peer_messages_outgoing + rendered[f"{topic}/peers/{pid}/messages_incoming"] = peer_messages_incoming + rendered[f"{topic}/peers/{pid}/messages_unhandled"] = peer_messages_unhandled + + rendered[f"{topic}/peered_propagation_rx_bytes"] = peered_rx_bytes + rendered[f"{topic}/peered_propagation_tx_bytes"] = peered_tx_bytes + rendered[f"{topic}/peered_propagation_offered"] = peered_offered + rendered[f"{topic}/peered_propagation_outgoing"] = peered_outgoing + rendered[f"{topic}/peered_propagation_incoming"] = peered_incoming + rendered[f"{topic}/peered_propagation_unhandled"] = peered_unhandled + rendered[f"{topic}/peered_propagation_max_unhandled"] = peered_max_unhandled else: rendered = None