#[non_exhaustive]pub enum InstrumentationEvent<'a> {
#[non_exhaustive]
StartEstablishConnection {
url: &'a str,
},
#[non_exhaustive]
FinishEstablishConnection {
url: &'a str,
error: Option<&'a ConnectionError>,
},
#[non_exhaustive]
StartQuery {
query: &'a dyn DebugQuery,
},
#[non_exhaustive]
CacheQuery {
sql: &'a str,
},
#[non_exhaustive]
FinishQuery {
query: &'a dyn DebugQuery,
error: Option<&'a Error>,
},
#[non_exhaustive]
BeginTransaction {
depth: NonZeroU32,
},
#[non_exhaustive]
CommitTransaction {
depth: NonZeroU32,
},
#[non_exhaustive]
RollbackTransaction {
depth: NonZeroU32,
},
}Expand description
This enum describes possible connection events
that can be handled by an Instrumentation implementation
Some fields might contain sensitive information, like login details for the database.
Diesel does not guarantee that future versions will
emit the same events in the same order or timing.
In addition the output of the Debug and Display
implementation of the enum itself and any of its fields
is not guarantee to be stable.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
StartEstablishConnection
An event emitted by before starting establishing a new connection
Fields
This variant is marked as non-exhaustive
FinishEstablishConnection
An event emitted after establishing a new connection
Fields
This variant is marked as non-exhaustive
url: &'a strThe database url the connection tries is connected to
This might contain sensitive information like the database password
error: Option<&'a ConnectionError>An optional error if the connection failed
StartQuery
An event that is emitted before executing a query
Fields
This variant is marked as non-exhaustive
CacheQuery
An event that is emitted when a query is cached in the connection internal prepared statement cache
Fields
This variant is marked as non-exhaustive
FinishQuery
An event that is emitted after executing a query
Fields
This variant is marked as non-exhaustive
query: &'a dyn DebugQueryBeginTransaction
An event that is emitted while starting a new transaction
Fields
This variant is marked as non-exhaustive
depth: NonZeroU32Transaction level of the newly started transaction
CommitTransaction
An event that is emitted while committing a transaction
Fields
This variant is marked as non-exhaustive
depth: NonZeroU32Transaction level of the to be committed transaction
RollbackTransaction
An event that is emitted while rolling back a transaction
Fields
This variant is marked as non-exhaustive
depth: NonZeroU32Transaction level of the to be rolled back transaction
Implementations§
Source§impl<'a> InstrumentationEvent<'a>
impl<'a> InstrumentationEvent<'a>
Sourcepub fn start_establish_connection(url: &'a str) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn start_establish_connection(url: &'a str) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::StartEstablishConnection event
Sourcepub fn finish_establish_connection(
url: &'a str,
error: Option<&'a ConnectionError>,
) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn finish_establish_connection( url: &'a str, error: Option<&'a ConnectionError>, ) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::FinishEstablishConnection event
Sourcepub fn start_query(query: &'a dyn DebugQuery) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn start_query(query: &'a dyn DebugQuery) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::StartQuery event
Sourcepub fn cache_query(sql: &'a str) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn cache_query(sql: &'a str) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::CacheQuery event
Sourcepub fn finish_query(query: &'a dyn DebugQuery, error: Option<&'a Error>) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn finish_query(query: &'a dyn DebugQuery, error: Option<&'a Error>) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::FinishQuery event
Sourcepub fn begin_transaction(depth: NonZeroU32) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn begin_transaction(depth: NonZeroU32) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::BeginTransaction event
Sourcepub fn rollback_transaction(depth: NonZeroU32) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn rollback_transaction(depth: NonZeroU32) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::RollbackTransaction event
Sourcepub fn commit_transaction(depth: NonZeroU32) -> Self
Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
pub fn commit_transaction(depth: NonZeroU32) -> Self
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.Create a new InstrumentationEvent::CommitTransaction event