+7
server/src/db/mod.rs
+7
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();
387
388
let start_limit = match range.start_bound().cloned() {
388
389
Bound::Included(start) => start,
389
390
Bound::Excluded(start) => start.saturating_add(1),
···
399
400
let Some(handle) = self.get_handle(nsid) else {
400
401
return Either::Right(std::iter::empty());
401
402
};
403
+
tracing::info!("took {}ns to get handle", started_at.elapsed().as_nanos());
402
404
403
405
let map_block = move |(key, val)| {
404
406
let mut key_reader = Cursor::new(key);
···
416
418
Ok(Some(items))
417
419
};
418
420
421
+
let mut ts = CLOCK.now();
419
422
Either::Left(
420
423
handle
421
424
.range(..end_key)
422
425
.rev()
426
+
.inspect(|_| {
427
+
tracing::info!("took {}ns to get block", ts.elapsed().as_nanos());
428
+
ts = CLOCK.now();
429
+
})
423
430
.map_while(move |res| res.map_err(AppError::from).and_then(map_block).transpose())
424
431
.collect::<Vec<_>>()
425
432
.into_iter()