Correctly trace async message handling

Nathan Sobo and Antonio Scandurra created

Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Change summary

crates/collab/src/rpc.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Detailed changes

crates/collab/src/rpc.rs 🔗

@@ -47,7 +47,7 @@ use tokio::{
     time::Sleep,
 };
 use tower::ServiceBuilder;
-use tracing::info_span;
+use tracing::{info_span, Instrument};
 use util::ResultExt;
 
 type MessageHandler = Box<
@@ -161,7 +161,7 @@ impl Server {
                     "handle message",
                     payload_type = envelope.payload_type_name()
                 );
-                span.in_scope(|| (handler)(server, *envelope).boxed())
+                (handler)(server, *envelope).instrument(span).boxed()
             }),
         );
         if prev_handler.is_some() {