From 587014e34fbfaf15fa151616bf636aeede58d30a Mon Sep 17 00:00:00 2001 From: Ivan FB <128452529+Ivansete-status@users.noreply.github.com> Date: Thu, 30 Apr 2026 00:27:38 +0200 Subject: [PATCH] add event_loop_accumulates_lag_secs (#3833) --- waku/node/health_monitor/event_loop_monitor.nim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/waku/node/health_monitor/event_loop_monitor.nim b/waku/node/health_monitor/event_loop_monitor.nim index 49a2bcc6e..bd1a33e4e 100644 --- a/waku/node/health_monitor/event_loop_monitor.nim +++ b/waku/node/health_monitor/event_loop_monitor.nim @@ -10,6 +10,9 @@ declarePublicGauge event_loop_load, "chronos event loop load EWMA by window (1.0 = sustained lag at MaxAcceptedLag)", labels = ["window"] +declarePublicCounter event_loop_accumulated_lag_secs, + "chronos event loop total accumulated lag in seconds since node start" + type OnLagChange* = proc(lagTooHigh: bool) {.gcsafe, raises: [].} proc eventLoopMonitorLoop*(onLagChange: OnLagChange = nil) {.async.} = @@ -55,6 +58,8 @@ proc eventLoopMonitorLoop*(onLagChange: OnLagChange = nil) {.async.} = let lagSecs = lag.nanoseconds.float64 / 1_000_000_000.0 let load = lagSecs / maxAcceptedLagSecs + event_loop_accumulated_lag_secs.inc(lagSecs) + ewma1m = alpha1m * load + (1.0 - alpha1m) * ewma1m ewma5m = alpha5m * load + (1.0 - alpha5m) * ewma5m ewma15m = alpha15m * load + (1.0 - alpha15m) * ewma15m