diff --git a/crates/binstalk-downloader/src/download.rs b/crates/binstalk-downloader/src/download.rs index a2ee5cde..5c39973e 100644 --- a/crates/binstalk-downloader/src/download.rs +++ b/crates/binstalk-downloader/src/download.rs @@ -212,7 +212,7 @@ impl Download<'_> { /// /// NOTE that this API does not support gnu extension sparse file unlike /// [`Download::and_extract`]. - #[instrument(skip(visitor))] + #[instrument(skip(self, visitor))] pub async fn and_visit_tar( self, fmt: TarBasedFmt, @@ -239,7 +239,10 @@ impl Download<'_> { /// Download a file from the provided URL and extract it to the provided path. /// /// NOTE that this will only extract directory and regular files. - #[instrument(skip(path))] + #[instrument( + skip(self, path), + fields(path = format_args!("{}", path.as_ref().display())) + )] pub async fn and_extract( self, fmt: PkgFmt, @@ -277,7 +280,7 @@ impl Download<'_> { inner(self, fmt, path.as_ref()).await } - #[instrument] + #[instrument(skip(self))] pub async fn into_bytes(self) -> Result { let bytes = self.content.into_response().await?.bytes().await?; if let Some(verifier) = self.data_verifier { diff --git a/crates/binstalk-downloader/src/remote.rs b/crates/binstalk-downloader/src/remote.rs index 7bd2c684..1d1547fa 100644 --- a/crates/binstalk-downloader/src/remote.rs +++ b/crates/binstalk-downloader/src/remote.rs @@ -165,7 +165,12 @@ impl Client { /// /// Return `Ok(ControlFlow::Break(response))` when succeeds and no need /// to retry. - #[instrument] + #[instrument( + skip(self, url), + fields( + url = format_args!("{url}"), + ), + )] async fn do_send_request( &self, request: Request, diff --git a/crates/binstalk-downloader/src/remote/resolver.rs b/crates/binstalk-downloader/src/remote/resolver.rs index 4d33c1e6..3382bde7 100644 --- a/crates/binstalk-downloader/src/remote/resolver.rs +++ b/crates/binstalk-downloader/src/remote/resolver.rs @@ -26,7 +26,7 @@ impl Resolve for TrustDnsResolver { } } -#[instrument(level = "trace")] +#[instrument] fn new_resolver() -> Result { #[cfg(unix)] { @@ -61,7 +61,7 @@ fn new_resolver() -> Result { } #[cfg(windows)] -#[instrument(level = "trace")] +#[instrument] fn get_adapter() -> Result { debug!("Retrieving local IP address"); let local_ip = diff --git a/crates/binstalk-fetchers/src/lib.rs b/crates/binstalk-fetchers/src/lib.rs index ea5b7a28..33e50944 100644 --- a/crates/binstalk-fetchers/src/lib.rs +++ b/crates/binstalk-fetchers/src/lib.rs @@ -180,7 +180,7 @@ impl Data { } } - #[instrument(level = "debug")] + #[instrument(skip(client))] async fn get_repo_info(&self, client: &GhApiClient) -> Result, FetchError> { self.repo_info .get_or_try_init(move || { diff --git a/crates/binstalk-git-repo-api/src/gh_api_client.rs b/crates/binstalk-git-repo-api/src/gh_api_client.rs index 46b22852..5823b53e 100644 --- a/crates/binstalk-git-repo-api/src/gh_api_client.rs +++ b/crates/binstalk-git-repo-api/src/gh_api_client.rs @@ -12,7 +12,7 @@ use std::{ use binstalk_downloader::{download::Download, remote}; use compact_str::{format_compact, CompactString, ToCompactString}; use tokio::sync::OnceCell; -use tracing::instrument; +use tracing::{instrument, Level}; use url::Url; mod common; @@ -224,7 +224,7 @@ impl GhApiClient { .map_err(|err| err.context("Restful API")) } - #[instrument(level = "debug", skip(self), ret)] + #[instrument(skip(self), ret(level = Level::DEBUG))] pub async fn get_repo_info(&self, repo: &GhRepo) -> Result, GhApiError> { match self .do_fetch( @@ -248,7 +248,7 @@ impl GhApiClient { /// Return `Ok(Some(api_artifact_url))` if exists. /// /// The returned future is guaranteed to be pointer size. - #[instrument(level = "debug", skip(self), ret)] + #[instrument(skip(self), ret(level = Level::DEBUG))] pub async fn has_release_artifact( &self, GhReleaseArtifact { diff --git a/crates/binstalk-git-repo-api/src/gh_api_client/repo_info.rs b/crates/binstalk-git-repo-api/src/gh_api_client/repo_info.rs index 33b33682..ac5c08cc 100644 --- a/crates/binstalk-git-repo-api/src/gh_api_client/repo_info.rs +++ b/crates/binstalk-git-repo-api/src/gh_api_client/repo_info.rs @@ -1,4 +1,4 @@ -use std::future::Future; +use std::{fmt, future::Future}; use compact_str::CompactString; use serde::Deserialize; @@ -20,6 +20,16 @@ pub struct RepoInfo { private: bool, } +impl fmt::Display for RepoInfo { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!( + f, + "RepoInfo {{ owner: {}, name: {}, is_private: {} }}", + self.owner.login, self.name, self.private + ) + } +} + impl RepoInfo { #[cfg(test)] pub(crate) fn new(GhRepo { owner, repo }: GhRepo, private: bool) -> Self { diff --git a/crates/binstalk-registry/src/common.rs b/crates/binstalk-registry/src/common.rs index 5f14f3e9..17f5fefa 100644 --- a/crates/binstalk-registry/src/common.rs +++ b/crates/binstalk-registry/src/common.rs @@ -55,7 +55,12 @@ impl DataVerifier for Sha256Digest { } } -#[instrument] +#[instrument( + skip(client, crate_url), + fields( + crate_url = format_args!("{crate_url}"), + ), +)] pub(super) async fn parse_manifest( client: Client, crate_name: &str, diff --git a/crates/binstalk-registry/src/crates_io_registry.rs b/crates/binstalk-registry/src/crates_io_registry.rs index 9857a610..b07b6a1a 100644 --- a/crates/binstalk-registry/src/crates_io_registry.rs +++ b/crates/binstalk-registry/src/crates_io_registry.rs @@ -105,7 +105,12 @@ async fn fetch_crate_cratesio_version_matched( /// Find the crate by name, get its latest stable version matches `version_req`, /// retrieve its Cargo.toml and infer all its bins. -#[instrument] +#[instrument( + skip(client), + fields( + version_req = format_args!("{version_req}"), + ) +)] pub async fn fetch_crate_cratesio_api( client: Client, name: &str, diff --git a/crates/binstalk-registry/src/git_registry.rs b/crates/binstalk-registry/src/git_registry.rs index c68ff1da..518a48b0 100644 --- a/crates/binstalk-registry/src/git_registry.rs +++ b/crates/binstalk-registry/src/git_registry.rs @@ -97,7 +97,12 @@ impl GitRegistry { ) } - #[instrument] + #[instrument( + skip(self, client, version_req), + fields( + version_req = format_args!("{version_req}"), + ), + )] pub async fn fetch_crate_matched( &self, client: Client, diff --git a/crates/binstalk-registry/src/sparse_registry.rs b/crates/binstalk-registry/src/sparse_registry.rs index c30a0fe5..7dca1b32 100644 --- a/crates/binstalk-registry/src/sparse_registry.rs +++ b/crates/binstalk-registry/src/sparse_registry.rs @@ -78,7 +78,13 @@ impl SparseRegistry { ) } - #[instrument] + #[instrument( + skip(self, client, version_req), + fields( + registry_url = format_args!("{}", self.url), + version_req = format_args!("{version_req}"), + ) + )] pub async fn fetch_crate_matched( &self, client: Client,