tracks lexicons and how many times they appeared on the jetstream

feat(server): also log when blocks are skipped and when not

ptr.pet 861c4a13 d0e3c929

verified
Changed files
+6 -2
server
src
db
+6 -2
server/src/db/mod.rs
··· 384 384 nsid: &str, 385 385 range: impl RangeBounds<u64> + std::fmt::Debug, 386 386 ) -> impl Iterator<Item = AppResult<handle::Item>> { 387 - let started_at = CLOCK.now(); 388 387 let start_limit = match range.start_bound().cloned() { 389 388 Bound::Included(start) => start, 390 389 Bound::Excluded(start) => start.saturating_add(1), ··· 400 399 let Some(handle) = self.get_handle(nsid) else { 401 400 return Either::Right(std::iter::empty()); 402 401 }; 403 - tracing::info!("took {}ns to get handle", started_at.elapsed().as_nanos()); 404 402 405 403 let mut ts = CLOCK.now(); 406 404 let map_block = move |(key, val)| { 407 405 let mut key_reader = Cursor::new(key); 408 406 let start_timestamp = key_reader.read_varint::<u64>()?; 407 + let end_timestamp = key_reader.read_varint::<u64>()?; 409 408 if start_timestamp < start_limit { 409 + tracing::info!( 410 + "skipped block with timestamps {start_timestamp}..{end_timestamp} because {start_limit} is greater" 411 + ); 410 412 return Ok(None); 413 + } else { 414 + tracing::info!("using block with timestamp {start_timestamp}..{end_timestamp}"); 411 415 } 412 416 let decoder = handle::ItemDecoder::new(Cursor::new(val), start_timestamp)?; 413 417 tracing::info!(