From d3b44ea7dfabf46958b485100f82b509e601c117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Jerci=C5=84ski?= Date: Wed, 19 Nov 2025 10:00:25 +0100 Subject: [PATCH] Add network error metrics to i2pcontrol API --- daemon/I2PControlHandlers.cpp | 12 ++++++++++++ daemon/I2PControlHandlers.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/daemon/I2PControlHandlers.cpp b/daemon/I2PControlHandlers.cpp index 770321a5..69488273 100644 --- a/daemon/I2PControlHandlers.cpp +++ b/daemon/I2PControlHandlers.cpp @@ -38,6 +38,8 @@ namespace client m_RouterInfoHandlers["i2p.router.net.bw.outbound.15s"] = &I2PControlHandlers::OutboundBandwidth15S; m_RouterInfoHandlers["i2p.router.net.status"] = &I2PControlHandlers::NetStatusHandler; m_RouterInfoHandlers["i2p.router.net.status.v6"] = &I2PControlHandlers::NetStatusV6Handler; + m_RouterInfoHandlers["i2p.router.net.error"] = &I2PControlHandlers::NetErrorHandler; + m_RouterInfoHandlers["i2p.router.net.error.v6"] = &I2PControlHandlers::NetErrorV6Handler; m_RouterInfoHandlers["i2p.router.net.tunnels.participating"] = &I2PControlHandlers::TunnelsParticipatingHandler; m_RouterInfoHandlers["i2p.router.net.tunnels.successrate"] = &I2PControlHandlers::TunnelsSuccessRateHandler; m_RouterInfoHandlers["i2p.router.net.total.received.bytes"] = &I2PControlHandlers::NetTotalReceivedBytes; @@ -143,6 +145,16 @@ namespace client InsertParam (results, "i2p.router.net.status.v6", (int)i2p::context.GetStatusV6 ()); } + void I2PControlHandlers::NetErrorHandler (std::ostringstream& results) + { + InsertParam (results, "i2p.router.net.error", (int)i2p::context.GetError ()); + } + + void I2PControlHandlers::NetErrorV6Handler (std::ostringstream& results) + { + InsertParam (results, "i2p.router.net.error.v6", (int)i2p::context.GetErrorV6 ()); + } + void I2PControlHandlers::TunnelsParticipatingHandler (std::ostringstream& results) { int transit = i2p::tunnel::tunnels.GetTransitTunnels ().size (); diff --git a/daemon/I2PControlHandlers.h b/daemon/I2PControlHandlers.h index 41139542..61a8cab0 100644 --- a/daemon/I2PControlHandlers.h +++ b/daemon/I2PControlHandlers.h @@ -48,6 +48,8 @@ namespace client void NetDbActivePeersHandler (std::ostringstream& results); void NetStatusHandler (std::ostringstream& results); void NetStatusV6Handler (std::ostringstream& results); + void NetErrorHandler (std::ostringstream& results); + void NetErrorV6Handler (std::ostringstream& results); void TunnelsParticipatingHandler (std::ostringstream& results); void TunnelsSuccessRateHandler (std::ostringstream& results); void InboundBandwidth1S (std::ostringstream& results);