From 984153b90a4e07983e9793ca83d6bb1ae628334b Mon Sep 17 00:00:00 2001 From: evgeny Date: Sun, 11 Oct 2026 13:55:26 +0200 Subject: [PATCH] Expose monotonic age of verified substream progress --- src/stream/stream_metrics.c | 1 + src/stream/stream_metrics.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/stream/stream_metrics.c b/src/stream/stream_metrics.c index fb59715b..c5b54d7a 100644 --- a/src/stream/stream_metrics.c +++ b/src/stream/stream_metrics.c @@ -104,6 +104,7 @@ int stream_metrics_poll(struct stream_metrics *m, uint64_t now_ms, struct stream metrics_detect_stop(m, now_ms); result.lag_ms = m->lag_ms; result.expected_interval_ms = m->expected_interval_ms; + result.progress_age_ms = now_ms - m->last_receive_ms; result.stopped = m->stopped; if (!m->ended && now_ms - m->last_receive_ms > m->expected_interval_ms) result.lag_ms = metrics_add(result.lag_ms, now_ms - m->last_receive_ms - m->expected_interval_ms); diff --git a/src/stream/stream_metrics.h b/src/stream/stream_metrics.h index a8b35ca1..1dae47ce 100644 --- a/src/stream/stream_metrics.h +++ b/src/stream/stream_metrics.h @@ -45,6 +45,7 @@ struct stream_metric_snapshot { uint64_t source_rate_bytes_sec; uint64_t receive_rate_bytes_sec; uint64_t expected_interval_ms; + uint64_t progress_age_ms; /* Монотонный возраст последнего реально принятого блока; известен при успешном poll. */ int stopped; int source_rate_valid; int receive_rate_valid;