Skip to main content

lobe_core/models/
report.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
4pub struct TimingReport {
5    pub dns_ms: u64,
6    pub tcp_ms: u64,
7    pub tls_ms: u64,
8    pub ttfb_ms: u64,
9    #[serde(default)]
10    pub download_ms: u64,
11    pub total_ms: u64,
12    /// Latency Lobe's own proxy added on top of the upstream round trip —
13    /// request parsing plus writing the response back to the client — i.e.
14    /// how much the proxy itself skews the total the client sees. The phase
15    /// timings above are measured on the proxy→upstream connection and are
16    /// unaffected by this. Sub-millisecond in practice, so stored in
17    /// microseconds. 0 on the synthetic probe path and on failed requests.
18    #[serde(default)]
19    pub proxy_overhead_us: u64,
20}