diff --git a/src/mito2/src/sst/parquet/helper.rs b/src/mito2/src/sst/parquet/helper.rs index 83a10d6ba2..ee7bc2a8b8 100644 --- a/src/mito2/src/sst/parquet/helper.rs +++ b/src/mito2/src/sst/parquet/helper.rs @@ -14,8 +14,10 @@ use std::ops::Range; use std::sync::Arc; +use std::time::Instant; use bytes::Bytes; +use common_telemetry::trace; use object_store::ObjectStore; use parquet::basic::ColumnOrder; use parquet::file::metadata::{FileMetaData, ParquetMetaData, RowGroupMetaData}; @@ -100,7 +102,10 @@ pub async fn fetch_byte_ranges( object_store: ObjectStore, ranges: &[Range], ) -> object_store::Result> { - Ok(object_store + let total_size = ranges.iter().map(|r| r.end - r.start).sum::(); + let start = Instant::now(); + + let result = object_store .reader_with(file_path) .concurrent(FETCH_PARALLELISM) .gap(MERGE_GAP) @@ -109,5 +114,14 @@ pub async fn fetch_byte_ranges( .await? .into_iter() .map(|buf| buf.to_bytes()) - .collect::>()) + .collect::>(); + + trace!( + "Fetch {} bytes from '{}' in object store, cost: {:?}", + total_size, + file_path, + start.elapsed() + ); + + Ok(result) } diff --git a/src/object-store/src/layers/lru_cache/read_cache.rs b/src/object-store/src/layers/lru_cache/read_cache.rs index 1b1f36634d..017cb9fb3b 100644 --- a/src/object-store/src/layers/lru_cache/read_cache.rs +++ b/src/object-store/src/layers/lru_cache/read_cache.rs @@ -14,7 +14,7 @@ use std::sync::Arc; -use common_telemetry::debug; +use common_telemetry::{debug, trace}; use futures::{FutureExt, TryStreamExt}; use moka::future::Cache; use moka::notification::ListenerFuture; @@ -290,6 +290,11 @@ impl ReadCache { let (_, reader) = inner.read(path, args).await?; let result = self.try_write_cache::(reader, read_key).await; + trace!( + "Read cache miss for key '{}' and fetch file '{}' from object store", + read_key, path, + ); + match result { Ok(read_bytes) => { OBJECT_STORE_LRU_CACHE_ENTRIES.inc();