pub struct PoolBuilder<DB: Database> { /* private fields */ }Expand description
Builder for constructing an instrumented Pool from a raw sqlx::Pool.
The builder auto-extracts connection attributes (host, port, namespace) from the
pool’s connect options via the Database trait, then allows overriding any of them
before calling build().
§Example
let pool = PoolBuilder::from(sqlx_pool)
.with_database("my_db")
.build();Implementations§
Source§impl<DB: Database> PoolBuilder<DB>
impl<DB: Database> PoolBuilder<DB>
Sourcepub fn with_database(self, database: impl Into<String>) -> Self
pub fn with_database(self, database: impl Into<String>) -> Self
Override the db.namespace attribute (the database name).
Sourcepub fn with_host(self, host: impl Into<String>) -> Self
pub fn with_host(self, host: impl Into<String>) -> Self
Override the server.address attribute (the logical hostname).
Sourcepub fn with_network_peer_address(self, address: impl Into<String>) -> Self
pub fn with_network_peer_address(self, address: impl Into<String>) -> Self
Set the network.peer.address attribute (the resolved IP address).
Sourcepub fn with_network_peer_port(self, port: u16) -> Self
pub fn with_network_peer_port(self, port: u16) -> Self
Set the network.peer.port attribute (the resolved port).
Sourcepub fn with_query_text_mode(self, mode: QueryTextMode) -> Self
pub fn with_query_text_mode(self, mode: QueryTextMode) -> Self
Configure how db.query.text is captured on spans. Defaults to
QueryTextMode::Full.
Sourcepub fn with_pool_name(self, name: impl Into<String>) -> Self
pub fn with_pool_name(self, name: impl Into<String>) -> Self
Set the db.client.connection.pool.name attribute.
When a runtime feature (e.g. runtime-tokio) is also enabled, a background task is
spawned that periodically records db.client.connection.count (idle/used). See
with_pool_metrics_interval to configure the
polling frequency.
Sourcepub fn with_pool_metrics_interval(self, interval: Duration) -> Self
pub fn with_pool_metrics_interval(self, interval: Duration) -> Self
Set the polling interval for db.client.connection.count. Defaults to 10 seconds.
Has no effect unless with_pool_name is also called and a
runtime feature is enabled.
Trait Implementations§
Auto Trait Implementations§
impl<DB> Freeze for PoolBuilder<DB>
impl<DB> !RefUnwindSafe for PoolBuilder<DB>
impl<DB> Send for PoolBuilder<DB>
impl<DB> Sync for PoolBuilder<DB>
impl<DB> Unpin for PoolBuilder<DB>
impl<DB> UnsafeUnpin for PoolBuilder<DB>
impl<DB> !UnwindSafe for PoolBuilder<DB>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more