rama::telemetry::opentelemetry::baggage

Trait BaggageExt

pub trait BaggageExt {
    // Required methods
    fn with_baggage<T, I>(&self, baggage: T) -> Self
       where T: IntoIterator<Item = I>,
             I: Into<KeyValueMetadata>;
    fn current_with_baggage<T, I>(baggage: T) -> Self
       where T: IntoIterator<Item = I>,
             I: Into<KeyValueMetadata>;
    fn with_cleared_baggage(&self) -> Self;
    fn baggage(&self) -> &Baggage;
}
Expand description

Methods for sorting and retrieving baggage data in a context.

Required Methods§

fn with_baggage<T, I>(&self, baggage: T) -> Self
where T: IntoIterator<Item = I>, I: Into<KeyValueMetadata>,

Returns a clone of the given context with the included name/value pairs.

§Examples
use opentelemetry::{baggage::BaggageExt, Context, KeyValue, Value};

let cx = Context::map_current(|cx| {
    cx.with_baggage(vec![KeyValue::new("my-name", "my-value")])
});

assert_eq!(
    cx.baggage().get("my-name"),
    Some(&Value::from("my-value")),
)

fn current_with_baggage<T, I>(baggage: T) -> Self
where T: IntoIterator<Item = I>, I: Into<KeyValueMetadata>,

Returns a clone of the current context with the included name/value pairs.

§Examples
use opentelemetry::{baggage::BaggageExt, Context, KeyValue, Value};

let cx = Context::current_with_baggage(vec![KeyValue::new("my-name", "my-value")]);

assert_eq!(
    cx.baggage().get("my-name"),
    Some(&Value::from("my-value")),
)

fn with_cleared_baggage(&self) -> Self

Returns a clone of the given context with no baggage.

§Examples
use opentelemetry::{baggage::BaggageExt, Context, KeyValue, Value};

let cx = Context::map_current(|cx| cx.with_cleared_baggage());

assert_eq!(cx.baggage().len(), 0);

fn baggage(&self) -> &Baggage

Returns a reference to this context’s baggage, or the default empty baggage if none has been set.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§