From b930a01fd61e8b284a58402189f53e898eaf3981 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Mon, 13 Apr 2026 17:49:19 +0700 Subject: [PATCH] feat(observability): emit a startup event metric to signal application initialization Send a telemetry event when the process starts to provide better visibility into application lifecycle transitions. --- src/main.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index ffbf3cc..34e2f0a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,8 +14,10 @@ mod time; mod util; use crate::baseliner::{Baseliner, ReflectorStats}; -use crate::metrics::Metrics; +use crate::metrics::{Metric, Metrics}; +use crate::time::Time; use ::log::{debug, info}; +use rustix::time::ClockId; use std::collections::HashMap; use std::net::IpAddr; use std::str::FromStr; @@ -105,6 +107,15 @@ fn main() -> anyhow::Result<()> { })?; } + if let Some(tx) = metrics_tx.clone() { + let _ = tx.try_send(Metric::Event { + name: "starting", + reason: "", + reflector: None, + timestamp_ns: Time::new(ClockId::Realtime).as_nanos(), + }); + } + let ping_metrics_tx = metrics_tx .as_ref() .filter(|_| config.observability_export_ping_metrics)