Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm

record insert time for every batch insert

and without relying on indirect tokio scheduling for timing measurements

Changed files
+9 -1
ufos
+9 -1
ufos/src/storage.rs
··· 41 41 Unit::Microseconds, 42 42 "batches that took more than 3s to insert" 43 43 ); 44 + describe_histogram!( 45 + "storage_batch_insert_time", 46 + Unit::Microseconds, 47 + "total time to insert one commit batch" 48 + ); 44 49 while let Some(event_batch) = batches.recv().await { 45 50 let token = CancellationToken::new(); 46 51 let cancelled = token.clone(); ··· 69 74 let mut me = self.clone(); 70 75 move || { 71 76 let _guard = token.drop_guard(); 72 - me.insert_batch(event_batch) 77 + let t0 = Instant::now(); 78 + let r = me.insert_batch(event_batch); 79 + histogram!("storage_batch_insert_time").record(t0.elapsed().as_micros() as f64); 80 + r 73 81 } 74 82 }) 75 83 .await??;