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.

Object Safety§

This trait is not object safe.

Implementors§