pub struct W3CTracePropagator;Expand description
W3C Trace Context Propagator for distributed tracing.
This struct implements the W3C Trace Context propagation specification, providing methods for extracting and injecting trace context from/to various carrier formats like HTTP headers.
Implementations§
Source§impl W3CTracePropagator
impl W3CTracePropagator
Sourcepub fn extract(&self, headers: &HashMap<String, String>) -> DMSCContextCarrier
pub fn extract(&self, headers: &HashMap<String, String>) -> DMSCContextCarrier
Extracts trace context from HTTP headers.
This method parses the W3C traceparent and baggage headers from the provided HTTP headers and creates a DMSCContextCarrier with the extracted information.
§Parameters
headers: A reference to a HashMap of HTTP headers
§Returns
A DMSCContextCarrier containing the extracted trace context and baggage
Sourcepub fn inject(
&self,
carrier: &DMSCContextCarrier,
headers: &mut HashMap<String, String>,
)
pub fn inject( &self, carrier: &DMSCContextCarrier, headers: &mut HashMap<String, String>, )
Injects trace context into HTTP headers.
This method takes a DMSCContextCarrier and injects its trace context and baggage into the provided HTTP headers HashMap.
§Parameters
carrier: The context carrier containing trace informationheaders: A mutable reference to a HashMap of HTTP headers
Sourcepub fn extract_and_set_current(
&self,
headers: &HashMap<String, String>,
) -> DMSCContextCarrier
pub fn extract_and_set_current( &self, headers: &HashMap<String, String>, ) -> DMSCContextCarrier
Extracts trace context and sets it as the current tracing context.
This convenience method extracts trace context from HTTP headers and sets it as the current thread-local tracing context.
§Parameters
headers: A reference to a HashMap of HTTP headers
§Returns
A DMSCContextCarrier containing the extracted trace context and baggage
Sourcepub fn inject_current(&self, headers: &mut HashMap<String, String>)
pub fn inject_current(&self, headers: &mut HashMap<String, String>)
Injects the current tracing context into HTTP headers.
This convenience method gets the current thread-local tracing context, converts it to a context carrier, and injects it into HTTP headers.
§Parameters
headers: A mutable reference to a HashMap of HTTP headers
Trait Implementations§
Source§impl Clone for W3CTracePropagator
impl Clone for W3CTracePropagator
Source§fn clone(&self) -> W3CTracePropagator
fn clone(&self) -> W3CTracePropagator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for W3CTracePropagator
impl Debug for W3CTracePropagator
Source§impl Default for W3CTracePropagator
impl Default for W3CTracePropagator
Source§fn default() -> W3CTracePropagator
fn default() -> W3CTracePropagator
Source§impl<'py> IntoPyObject<'py> for W3CTracePropagator
impl<'py> IntoPyObject<'py> for W3CTracePropagator
Source§type Target = W3CTracePropagator
type Target = W3CTracePropagator
Source§type Output = Bound<'py, <W3CTracePropagator as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <W3CTracePropagator as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for W3CTracePropagator
impl PyClass for W3CTracePropagator
Source§impl PyClassImpl for W3CTracePropagator
impl PyClassImpl for W3CTracePropagator
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// various carrier formats like HTTP headers.
const RAW_DOC: &'static CStr = /// various carrier formats like HTTP headers.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<W3CTracePropagator>
type ThreadChecker = SendablePyClass<W3CTracePropagator>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature for W3CTracePropagator
impl PyClassNewTextSignature for W3CTracePropagator
const TEXT_SIGNATURE: &'static str = "()"
Source§impl PyMethods<W3CTracePropagator> for PyClassImplCollector<W3CTracePropagator>
impl PyMethods<W3CTracePropagator> for PyClassImplCollector<W3CTracePropagator>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for W3CTracePropagator
impl PyTypeInfo for W3CTracePropagator
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.impl DerefToPyAny for W3CTracePropagator
impl ExtractPyClassWithClone for W3CTracePropagator
Auto Trait Implementations§
impl Freeze for W3CTracePropagator
impl RefUnwindSafe for W3CTracePropagator
impl Send for W3CTracePropagator
impl Sync for W3CTracePropagator
impl Unpin for W3CTracePropagator
impl UnwindSafe for W3CTracePropagator
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. 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>
T in a tonic::RequestSource§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>
T in a tonic::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more