From 65cde170637ae4e564eb1d392b759109babde3dc Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Tue, 2 Apr 2024 15:31:30 -0600 Subject: [PATCH] Fix collab logging (#10095) span! statically determines which fields are available, and record silently fails if you write to a field that is not available :/ Release Notes: - N/A --- crates/collab/src/rpc.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/crates/collab/src/rpc.rs b/crates/collab/src/rpc.rs index 7251f095cd309dbd24007725fe8b56d1482763fd..c14a8fe8b8c419656e4940e136af78acd4ab7a37 100644 --- a/crates/collab/src/rpc.rs +++ b/crates/collab/src/rpc.rs @@ -734,7 +734,13 @@ impl Server { executor: Executor, ) -> impl Future { let this = self.clone(); - let span = info_span!("handle connection", %address, impersonator = field::Empty, connection_id = field::Empty); + let span = info_span!("handle connection", %address, + connection_id=field::Empty, + user_id=field::Empty, + login=field::Empty, + impersonator=field::Empty, + dev_server_id=field::Empty + ); principal.update_span(&span); let mut teardown = self.teardown.subscribe(); @@ -812,7 +818,12 @@ impl Server { let type_name = message.payload_type_name(); // note: we copy all the fields from the parent span so we can query them in the logs. // (https://github.com/tokio-rs/tracing/issues/2670). - let span = tracing::info_span!("receive message", %connection_id, %address, type_name); + let span = tracing::info_span!("receive message", %connection_id, %address, type_name, + user_id=field::Empty, + login=field::Empty, + impersonator=field::Empty, + dev_server_id=field::Empty + ); principal.update_span(&span); let span_enter = span.enter(); if let Some(handler) = this.handlers.get(&message.payload_type_id()) {