diff --git a/crates/librqbit/src/session.rs b/crates/librqbit/src/session.rs index d4f0a1a..0522b7b 100644 --- a/crates/librqbit/src/session.rs +++ b/crates/librqbit/src/session.rs @@ -816,6 +816,7 @@ impl Session { } /// Spawn a task in the context of the session. + #[track_caller] pub fn spawn( &self, span: tracing::Span, diff --git a/crates/librqbit/src/spawn_utils.rs b/crates/librqbit/src/spawn_utils.rs index 34d4aec..b0e13da 100644 --- a/crates/librqbit/src/spawn_utils.rs +++ b/crates/librqbit/src/spawn_utils.rs @@ -1,5 +1,6 @@ /// Spawn a future inside a tracing span, while logging it's start, /// finish and periodically logging if it's still alive. +#[track_caller] pub fn spawn( _name: &str, span: tracing::Span, diff --git a/crates/librqbit/src/torrent_state/live/mod.rs b/crates/librqbit/src/torrent_state/live/mod.rs index d5a551a..89bc729 100644 --- a/crates/librqbit/src/torrent_state/live/mod.rs +++ b/crates/librqbit/src/torrent_state/live/mod.rs @@ -310,6 +310,7 @@ impl TorrentStateLive { Ok(state) } + #[track_caller] pub(crate) fn spawn( &self, span: tracing::Span, diff --git a/crates/librqbit_core/src/spawn_utils.rs b/crates/librqbit_core/src/spawn_utils.rs index c20793b..51c625e 100644 --- a/crates/librqbit_core/src/spawn_utils.rs +++ b/crates/librqbit_core/src/spawn_utils.rs @@ -12,6 +12,7 @@ impl std::fmt::Display for CancelledError { } /// Spawns a future with tracing instrumentation. +#[track_caller] pub fn spawn( span: tracing::Span, fut: impl std::future::Future> + Send + 'static, @@ -49,6 +50,7 @@ pub fn spawn( tokio::task::spawn(fut) } +#[track_caller] pub fn spawn_with_cancel( span: tracing::Span, cancellation_token: CancellationToken,