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