diff --git a/src/main.rs b/src/main.rs index f4f7e31..d54c5c8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -115,8 +115,18 @@ async fn process_connection( packets::ProtocolState::Login => { // This block of packet parsing is needed here, so the span with the // username is correctly propagated due to the async nature of things - let packet = Packet::parse(&mut client_stream).await?; + let span = tracing::span!( + tracing::Level::INFO, + "login_username_extract", + server_addr = handshake.get_server_address(), + server_port = handshake.server_port.get_value() + ); + + let packet = Packet::parse(&mut client_stream) + .instrument(span.clone()) + .await?; let login_packet = packets::serverbound::login::LoginStart::parse(packet) + .instrument(span.clone()) .await .ok_or("Failed to parse login start packet".to_string())?; handle_login(&mut client_stream, &handshake, login_packet, api).await?