Struct sentry_core::TransactionContext
source · pub struct TransactionContext { /* private fields */ }Expand description
The Transaction Context used to start a new Performance Monitoring Transaction.
The Transaction Context defines the metadata for a Performance Monitoring Transaction, and also the connection point for distributed tracing.
Implementations§
source§impl TransactionContext
impl TransactionContext
sourcepub fn new(name: &str, op: &str) -> Self
pub fn new(name: &str, op: &str) -> Self
Creates a new Transaction Context with the given name and op.
See https://docs.sentry.io/platforms/native/enriching-events/transaction-name/
for an explanation of a Transaction’s name, and
https://develop.sentry.dev/sdk/performance/span-operations/ for conventions
around an operation’s value.
See also the TransactionContext::continue_from_headers function that
can be used for distributed tracing.
sourcepub fn continue_from_headers<'a, I: IntoIterator<Item = (&'a str, &'a str)>>(
name: &str,
op: &str,
headers: I
) -> Self
pub fn continue_from_headers<'a, I: IntoIterator<Item = (&'a str, &'a str)>>( name: &str, op: &str, headers: I ) -> Self
Creates a new Transaction Context based on the distributed tracing headers.
The headers in particular need to include the sentry-trace header,
which is used to associate the transaction with a distributed trace.
sourcepub fn continue_from_span(
name: &str,
op: &str,
span: Option<TransactionOrSpan>
) -> Self
pub fn continue_from_span( name: &str, op: &str, span: Option<TransactionOrSpan> ) -> Self
Creates a new Transaction Context based on an existing Span.
This should be used when an independent computation is spawned on another thread and should be connected to the calling thread via a distributed tracing transaction.
sourcepub fn set_sampled(&mut self, sampled: impl Into<Option<bool>>)
pub fn set_sampled(&mut self, sampled: impl Into<Option<bool>>)
Set the sampling decision for this Transaction.
This can be either an explicit boolean flag, or None, which will fall
back to use the configured traces_sample_rate option.
sourcepub fn custom(&self) -> Option<&CustomTransactionContext>
pub fn custom(&self) -> Option<&CustomTransactionContext>
Get the custom context of this Transaction.
sourcepub fn custom_mut(&mut self) -> &mut Option<CustomTransactionContext>
pub fn custom_mut(&mut self) -> &mut Option<CustomTransactionContext>
Update the custom context of this Transaction.
For simply adding a key, use the custom_insert method.
Trait Implementations§
source§impl Clone for TransactionContext
impl Clone for TransactionContext
source§fn clone(&self) -> TransactionContext
fn clone(&self) -> TransactionContext
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TransactionContext
impl RefUnwindSafe for TransactionContext
impl Send for TransactionContext
impl Sync for TransactionContext
impl Unpin for TransactionContext
impl UnwindSafe for TransactionContext
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> 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