vector/internal_events/
heartbeat.rs1use std::time::Instant;
2
3use metrics::gauge;
4use vector_lib::internal_event::InternalEvent;
5
6use crate::built_info;
7
8#[derive(Debug)]
9pub struct Heartbeat {
10 pub since: Instant,
11}
12
13impl InternalEvent for Heartbeat {
14 fn emit(self) {
15 trace!(target: "vector", message = "Beep.");
16 gauge!("uptime_seconds").set(self.since.elapsed().as_secs() as f64);
17 gauge!(
18 "build_info",
19 "debug" => built_info::DEBUG,
20 "version" => built_info::PKG_VERSION,
21 "rust_version" => built_info::RUST_VERSION,
22 "arch" => built_info::TARGET_ARCH,
23 "revision" => built_info::VECTOR_BUILD_DESC.unwrap_or("")
24 )
25 .set(1.0);
26 }
27}