vector/heartbeat.rs
1//! Emits a heartbeat internal metric.
2use std::time::{Duration, Instant};
3
4use tokio::time::interval;
5
6use crate::internal_events::Heartbeat;
7
8/// Emits Heartbeat event every second.
9pub async fn heartbeat() {
10 let since = Instant::now();
11 let mut interval = interval(Duration::from_secs(1));
12 loop {
13 interval.tick().await;
14 emit!(Heartbeat { since });
15 }
16}