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
···
nsid: &str,
range: impl RangeBounds<u64> + std::fmt::Debug,
) -> impl Iterator<Item = AppResult<handle::Item>> {
-
let started_at = CLOCK.now();
let start_limit = match range.start_bound().cloned() {
Bound::Included(start) => start,
Bound::Excluded(start) => start.saturating_add(1),
···
let Some(handle) = self.get_handle(nsid) else {
return Either::Right(std::iter::empty());
};
-
tracing::info!("took {}ns to get handle", started_at.elapsed().as_nanos());
let mut ts = CLOCK.now();
let map_block = move |(key, val)| {
let mut key_reader = Cursor::new(key);
let start_timestamp = key_reader.read_varint::<u64>()?;
+
let end_timestamp = key_reader.read_varint::<u64>()?;
if start_timestamp < start_limit {
+
tracing::info!(
+
"skipped block with timestamps {start_timestamp}..{end_timestamp} because {start_limit} is greater"
+
);
return Ok(None);
+
} else {
+
tracing::info!("using block with timestamp {start_timestamp}..{end_timestamp}");
}
let decoder = handle::ItemDecoder::new(Cursor::new(val), start_timestamp)?;
tracing::info!(