From 563a200b38b60e044512054677708f4d65ed6a9e Mon Sep 17 00:00:00 2001 From: Chitoku Date: Fri, 7 Feb 2025 22:19:40 +0900 Subject: [PATCH] postgres: Fix tracing span when dropping PgListener --- sqlx-postgres/src/listener.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sqlx-postgres/src/listener.rs b/sqlx-postgres/src/listener.rs index b96f8d829f..89bb914861 100644 --- a/sqlx-postgres/src/listener.rs +++ b/sqlx-postgres/src/listener.rs @@ -9,6 +9,7 @@ use futures_util::{FutureExt, StreamExt, TryFutureExt, TryStreamExt}; use sqlx_core::acquire::Acquire; use sqlx_core::transaction::Transaction; use sqlx_core::Either; +use tracing::{Instrument, Span}; use crate::describe::Describe; use crate::error::Error; @@ -30,6 +31,7 @@ pub struct PgListener { buffer_rx: mpsc::UnboundedReceiver, buffer_tx: Option>, channels: Vec, + span: Span, ignore_close_event: bool, eager_reconnect: bool, } @@ -69,6 +71,7 @@ impl PgListener { buffer_rx: receiver, buffer_tx: None, channels: Vec::new(), + span: Span::current(), ignore_close_event: false, eager_reconnect: true, }) @@ -366,7 +369,7 @@ impl Drop for PgListener { }; // Unregister any listeners before returning the connection to the pool. - crate::rt::spawn(fut); + crate::rt::spawn(fut.instrument(self.span.clone())); } } }