Struct opentelemetry::sdk::propagation::BaggagePropagator [−][src]
pub struct BaggagePropagator { /* fields omitted */ }
This is supported on crate feature
trace
only.Expand description
Propagates name-value pairs in W3C Baggage format.
Baggage is used to annotate telemetry, adding context and
information to metrics, traces, and logs. It is an abstract data type
represented by a set of name-value pairs describing user-defined properties.
Each name in a Baggage
is associated with exactly one value.
Baggage
s are serialized according to the editor’s draft of
the W3C Baggage specification.
Examples
use opentelemetry::{baggage::BaggageExt, Key, propagation::TextMapPropagator}; use opentelemetry::sdk::propagation::BaggagePropagator; use std::collections::HashMap; // Example baggage value passed in externally via http headers let mut headers = HashMap::new(); headers.insert("baggage".to_string(), "user_id=1".to_string()); let propagator = BaggagePropagator::new(); // can extract from any type that impls `Extractor`, usually an HTTP header map let cx = propagator.extract(&headers); // Iterate over extracted name-value pairs for (name, value) in cx.baggage() { // ... } // Add new baggage let cx_with_additions = cx.with_baggage(vec![Key::new("server_id").i64(42)]); // Inject baggage into http request propagator.inject_context(&cx_with_additions, &mut headers); let header_value = headers.get("baggage").expect("header is injected"); assert!(header_value.contains("user_id=1"), "still contains previous name-value"); assert!(header_value.contains("server_id=42"), "contains new name-value pair");
Implementations
Trait Implementations
Returns the “default value” for a type. Read more
Encodes the values of the Context
and injects them into the provided Injector
.
Extracts a Context
with baggage values from a Extractor
.
Returns iter of fields used by TextMapPropagator
Read more
Auto Trait Implementations
impl RefUnwindSafe for BaggagePropagator
impl Send for BaggagePropagator
impl Sync for BaggagePropagator
impl Unpin for BaggagePropagator
impl UnwindSafe for BaggagePropagator