diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index 469c8d55c..646056133 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -6,6 +6,9 @@ and this library adheres to Rust's notion of [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- `zcash_client_backend::data_api::chain::scan_cached_blocks` now generates + `tracing` spans, which can be used for profiling. ## [0.6.0] - 2022-11-12 ### Added diff --git a/zcash_client_backend/src/data_api/chain.rs b/zcash_client_backend/src/data_api/chain.rs index 401b2e9f9..70df26bf6 100644 --- a/zcash_client_backend/src/data_api/chain.rs +++ b/zcash_client_backend/src/data_api/chain.rs @@ -209,6 +209,7 @@ where /// /// Scanned blocks are required to be height-sequential. If a block is missing from the block /// source, an error will be returned with cause [`error::Cause::BlockHeightDiscontinuity`]. +#[tracing::instrument(skip(params, block_source, data_db))] #[allow(clippy::type_complexity)] pub fn scan_cached_blocks( params: &ParamsT, diff --git a/zcash_client_backend/src/welding_rig.rs b/zcash_client_backend/src/welding_rig.rs index f3cdf1083..932c35b2d 100644 --- a/zcash_client_backend/src/welding_rig.rs +++ b/zcash_client_backend/src/welding_rig.rs @@ -157,6 +157,7 @@ type TaggedBatch = Batch<(AccountId, S), SaplingDomain

, CompactOutputDe type TaggedBatchRunner = BatchRunner<(AccountId, S), SaplingDomain

, CompactOutputDescription, T>; +#[tracing::instrument(skip_all, fields(height = block.height))] pub(crate) fn add_block_to_runner( params: &P, block: CompactBlock, @@ -189,6 +190,7 @@ pub(crate) fn add_block_to_runner( } } +#[tracing::instrument(skip_all, fields(height = block.height))] pub(crate) fn scan_block_with_runner< P: consensus::Parameters + Send + 'static, K: ScanningKey, diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index 4821a4504..6bcaca573 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -6,6 +6,9 @@ and this library adheres to Rust's notion of [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- `zcash_client_sqlite::DataConnStmtCache::advance_by_block` now generates a + `tracing` span, which can be used for profiling. ## [0.4.0] - 2022-11-12 ### Added diff --git a/zcash_client_sqlite/Cargo.toml b/zcash_client_sqlite/Cargo.toml index 96077a005..9c744939a 100644 --- a/zcash_client_sqlite/Cargo.toml +++ b/zcash_client_sqlite/Cargo.toml @@ -23,6 +23,9 @@ zcash_primitives = { version = "0.9", path = "../zcash_primitives" } bs58 = { version = "0.4", features = ["check"] } hdwallet = { version = "0.3.1", optional = true } +# - Logging and metrics +tracing = "0.1" + # - Protobuf interfaces prost = "0.11" diff --git a/zcash_client_sqlite/src/lib.rs b/zcash_client_sqlite/src/lib.rs index e7a0ebebd..fec6daa71 100644 --- a/zcash_client_sqlite/src/lib.rs +++ b/zcash_client_sqlite/src/lib.rs @@ -517,6 +517,7 @@ impl<'a, P: consensus::Parameters> WalletWrite for DataConnStmtCache<'a, P> { } } + #[tracing::instrument(skip_all, fields(height = u32::from(block.block_height)))] #[allow(clippy::type_complexity)] fn advance_by_block( &mut self,