aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/stats/prometheus.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 06:53:00 +0100
committertv <tv@krebsco.de>2026-10-31 06:53:00 +0100
commitdf3f11a337955dd703199cc2b037d4bfb698ceba (patch)
tree9077b4bb32b3a492005aad04ddf329a28a39c22d /src/api/stats/prometheus.rs
parent4855ff63536430b1cd26734a0eeeaf0c25df553e (diff)
add peer clock skew warning
Diffstat (limited to 'src/api/stats/prometheus.rs')
-rw-r--r--src/api/stats/prometheus.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/api/stats/prometheus.rs b/src/api/stats/prometheus.rs
index 2f33bef..6774e74 100644
--- a/src/api/stats/prometheus.rs
+++ b/src/api/stats/prometheus.rs
@@ -763,6 +763,28 @@ pub(super) fn render(stats: &StatsResponse, list: &PeerListResponse) -> String {
propagation.ahead as f64,
);
+ let clock = &stats.clock;
+ out.single(
+ "clock_peers_compared",
+ "gauge",
+ "Active peers whose clocks were compared with ours (from their PONGs).",
+ clock.peers as f64,
+ );
+ if let Some(offset_ms) = clock.offset_ms {
+ out.single(
+ "clock_offset_seconds",
+ "gauge",
+ "How far this node's clock is ahead of its peers' (behind: negative), the median.",
+ offset_ms as f64 / 1000.0,
+ );
+ }
+ out.single(
+ "clock_off",
+ "gauge",
+ "1 while this node's clock differs from most of its peers' by more than --clock-skew-warn.",
+ flag(clock.off),
+ );
+
// Node totals, including peers no longer listed.
let totals = traffic_series(&stats.traffic);
out.family(