From 6ebd0575e44fe022e1bc3cf3d184044bcc4dc7a5 Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Thu, 9 Sep 2021 08:58:21 -0700 Subject: [PATCH] runtime: add tracing span for block_on futures (#4094) --- tokio/src/runtime/handle.rs | 4 ++++ tokio/src/runtime/mod.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/tokio/src/runtime/handle.rs b/tokio/src/runtime/handle.rs index 1ae83cb25..bad6a0087 100644 --- a/tokio/src/runtime/handle.rs +++ b/tokio/src/runtime/handle.rs @@ -296,7 +296,11 @@ impl Handle { /// [`tokio::fs`]: crate::fs /// [`tokio::net`]: crate::net /// [`tokio::time`]: crate::time + #[cfg_attr(tokio_track_caller, track_caller)] pub fn block_on(&self, future: F) -> F::Output { + #[cfg(all(tokio_unstable, feature = "tracing"))] + let future = crate::util::trace::task(future, "block_on", None); + // Enter the **runtime** context. This configures spawning, the current I/O driver, ... let _rt_enter = self.enter(); diff --git a/tokio/src/runtime/mod.rs b/tokio/src/runtime/mod.rs index c01c6c8d8..ec7d0c09a 100644 --- a/tokio/src/runtime/mod.rs +++ b/tokio/src/runtime/mod.rs @@ -450,7 +450,11 @@ cfg_rt! { /// ``` /// /// [handle]: fn@Handle::block_on + #[cfg_attr(tokio_track_caller, track_caller)] pub fn block_on(&self, future: F) -> F::Output { + #[cfg(all(tokio_unstable, feature = "tracing"))] + let future = crate::util::trace::task(future, "block_on", None); + let _enter = self.enter(); match &self.kind {