From d0305d57e56dedeb9fb4854d16fe9a11d503e2a2 Mon Sep 17 00:00:00 2001 From: Eliza Weisman Date: Mon, 16 Aug 2021 12:43:34 -0700 Subject: [PATCH] tracing: change span naming to new console convention (#4042) Currently, the per-task spans generated by Tokio's `tracing` feature have the span name "task" and the target "tokio::task". This is because the console subscriber identified tasks by looking specifically for the "tokio::task" target. In tokio-rs/console#41, it was proposed that the console change to a more generic system for identifying the spans that correspond to tasks, to allow recording tasks belonging to multiple runtime crates (e.g. an application that uses Tokio for async tasks and Rayon for CPU-bound tasks). PR tokio-rs/console#68 changed the console to track any spans "runtime.spawn", regardless of target (so that the target can be used to identify the runtime a task came from), with "tokio::task/task" tracked for backwards-compatibility with the current release version of tokio. This branch changes Tokio's span naming to the new convention. I also rearranged a couple fields so that the task's kind field always comes before the name and spawn location, since it's likely to be the shortest, and renamed the `function` field on blocking tasks to `fn`, for brevity's sake. Signed-off-by: Eliza Weisman --- tokio/src/runtime/handle.rs | 12 ++++++------ tokio/src/util/trace.rs | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tokio/src/runtime/handle.rs b/tokio/src/runtime/handle.rs index ddc170a929d..46072f381d1 100644 --- a/tokio/src/runtime/handle.rs +++ b/tokio/src/runtime/handle.rs @@ -192,20 +192,20 @@ impl Handle { let location = std::panic::Location::caller(); #[cfg(tokio_track_caller)] let span = tracing::trace_span!( - target: "tokio::task", - "task", + target: "tokio::task::blocking", + "runtime.spawn", kind = %"blocking", - function = %std::any::type_name::(), task.name = %name.unwrap_or_default(), + "fn" = %std::any::type_name::(), spawn.location = %format_args!("{}:{}:{}", location.file(), location.line(), location.column()), ); #[cfg(not(tokio_track_caller))] let span = tracing::trace_span!( - target: "tokio::task", - "task", + target: "tokio::task::blocking", + "runtime.spawn", kind = %"blocking", task.name = %name.unwrap_or_default(), - function = %std::any::type_name::(), + "fn" = %std::any::type_name::(), ); fut.instrument(span) }; diff --git a/tokio/src/util/trace.rs b/tokio/src/util/trace.rs index c51a5a72bce..61c155c5b03 100644 --- a/tokio/src/util/trace.rs +++ b/tokio/src/util/trace.rs @@ -11,17 +11,17 @@ cfg_trace! { #[cfg(tokio_track_caller)] let span = tracing::trace_span!( target: "tokio::task", - "task", + "runtime.spawn", %kind, + task.name = %name.unwrap_or_default(), spawn.location = %format_args!("{}:{}:{}", location.file(), location.line(), location.column()), - task.name = %name.unwrap_or_default() ); #[cfg(not(tokio_track_caller))] let span = tracing::trace_span!( target: "tokio::task", - "task", + "runtime.spawn", %kind, - task.name = %name.unwrap_or_default() + task.name = %name.unwrap_or_default(), ); task.instrument(span) }