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.
This commit is contained in:
1 file changed
+12
-1
+12
-1
@@ -14,8 +14,10 @@ mod time;
|
|||||||
mod util;
|
mod util;
|
||||||
|
|
||||||
use crate::baseliner::{Baseliner, ReflectorStats};
|
use crate::baseliner::{Baseliner, ReflectorStats};
|
||||||
use crate::metrics::Metrics;
|
use crate::metrics::{Metric, Metrics};
|
||||||
|
use crate::time::Time;
|
||||||
use ::log::{debug, info};
|
use ::log::{debug, info};
|
||||||
|
use rustix::time::ClockId;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::net::IpAddr;
|
use std::net::IpAddr;
|
||||||
use std::str::FromStr;
|
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
|
let ping_metrics_tx = metrics_tx
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.filter(|_| config.observability_export_ping_metrics)
|
.filter(|_| config.observability_export_ping_metrics)
|
||||||
|
|||||||
Reference in new issue
Block a user