pub struct PropagationContext {
pub version: u16,
pub root_uuid: Option<Uuid>,
pub parent_uuid: Uuid,
}Expand description
Versioned, transport-neutral causal context for crossing a Relay boundary.
Applications are responsible for serializing, transporting, authenticating,
and trusting this value. It intentionally contains only Relay identifiers;
OpenTelemetry traceparent and tracestate remain transport sidecars. A
context without a root_uuid preserves Relay event parentage when imported.
The first local OpenTelemetry span created after import starts a new trace.
Fields§
§version: u16Wire-format version. Version 1 is the only currently supported value.
root_uuid: Option<Uuid>Stable session root when the sending application knows one. When this root is omitted, the first local OpenTelemetry span after import starts a new trace.
parent_uuid: UuidImmediate Relay event or scope that caused the boundary crossing.
Implementations§
Trait Implementations§
Source§impl Clone for PropagationContext
impl Clone for PropagationContext
Source§fn clone(&self) -> PropagationContext
fn clone(&self) -> PropagationContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PropagationContext
impl Debug for PropagationContext
Source§impl<'de> Deserialize<'de> for PropagationContext
impl<'de> Deserialize<'de> for PropagationContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for PropagationContext
Source§impl PartialEq for PropagationContext
impl PartialEq for PropagationContext
Source§impl Serialize for PropagationContext
impl Serialize for PropagationContext
impl StructuralPartialEq for PropagationContext
Auto Trait Implementations§
impl Freeze for PropagationContext
impl RefUnwindSafe for PropagationContext
impl Send for PropagationContext
impl Sync for PropagationContext
impl Unpin for PropagationContext
impl UnsafeUnpin for PropagationContext
impl UnwindSafe for PropagationContext
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request