use time::OffsetDateTime;
use crate::collectors::monitor::errors::CollectorError;
#[derive(Debug)]
pub struct Measurement {
pub monitor_id: i64,
pub timestamp: OffsetDateTime,
pub data: Option<Data>,
pub error: Option<CollectorError>,
}
#[derive(Debug)]
pub enum Data {
Ping(PingData),
Http(HttpData),
}
#[derive(Debug, Clone)]
#[cfg_attr(test, derive(Default))]
pub struct PingData {
pub dns: f32,
pub rtt: f32,
}
#[derive(Debug, Clone)]
#[cfg_attr(test, derive(Default))]
pub struct HttpData {
pub dns: f32,
pub tcp: f32,
pub tls: f32,
pub ttfb: f32,
pub transfer: f32,
}