High-performance implementation of plcbundle written in Rust

feat: add http_start timestamp to export response tracking

Track the wall-clock start time of HTTP requests in addition to the existing Instant measurement
to provide more accurate timing information for export responses

+4
+1
src/manager.rs
··· 1997 1997 "count": fetched_count, 1998 1998 "cids": all_cids, 1999 1999 "skipped": skipped, 2000 + "http_start": raw_capture_opt.as_ref().map(|c| c.http_start.clone()).unwrap_or_default(), 2000 2001 }); 2001 2002 let mut file = std::fs::OpenOptions::new() 2002 2003 .create(true)
+3
src/plc_client.rs
··· 24 24 pub status: u16, 25 25 pub headers: Vec<(String, String)>, 26 26 pub body: String, 27 + pub http_start: String, 27 28 } 28 29 29 30 impl PLCClient { ··· 230 231 Option<RawExportResponse>, 231 232 )> { 232 233 let url = format!("{}/export", self.base_url); 234 + let request_start_wall = chrono::Utc::now(); 233 235 let request_start = Instant::now(); 234 236 let response = self 235 237 .client ··· 287 289 status: status.unwrap(), 288 290 headers: headers_vec.unwrap(), 289 291 body, 292 + http_start: request_start_wall.to_rfc3339(), 290 293 }) 291 294 } else { 292 295 None