Struct opentelemetry::trace::TraceState
source · pub struct TraceState(/* private fields */);
Expand description
TraceState carries system-specific configuration data, represented as a list of key-value pairs. TraceState allows multiple tracing systems to participate in the same trace.
Please review the W3C specification for details on this field.
Implementations§
source§impl TraceState
impl TraceState
sourcepub fn from_key_value<T, K, V>(trace_state: T) -> Result<Self, TraceStateError>where
T: IntoIterator<Item = (K, V)>,
K: ToString,
V: ToString,
pub fn from_key_value<T, K, V>(trace_state: T) -> Result<Self, TraceStateError>where T: IntoIterator<Item = (K, V)>, K: ToString, V: ToString,
Creates a new TraceState
from the given key-value collection.
Examples
use opentelemetry::trace::{TraceState, TraceStateError};
let kvs = vec![("foo", "bar"), ("apple", "banana")];
let trace_state: Result<TraceState, TraceStateError> = TraceState::from_key_value(kvs);
assert!(trace_state.is_ok());
assert_eq!(trace_state.unwrap().header(), String::from("foo=bar,apple=banana"))
sourcepub fn get(&self, key: &str) -> Option<&str>
pub fn get(&self, key: &str) -> Option<&str>
Retrieves a value for a given key from the TraceState
if it exists.
sourcepub fn insert<K, V>(
&self,
key: K,
value: V
) -> Result<TraceState, TraceStateError>where
K: Into<String>,
V: Into<String>,
pub fn insert<K, V>( &self, key: K, value: V ) -> Result<TraceState, TraceStateError>where K: Into<String>, V: Into<String>,
Inserts the given key-value pair into the TraceState
. If a value already exists for the
given key, this updates the value and updates the value’s position. If the key or value are
invalid per the W3 Spec an Err
is returned, else a new TraceState
with the
updated key/value is returned.
sourcepub fn delete<K: Into<String>>(
&self,
key: K
) -> Result<TraceState, TraceStateError>
pub fn delete<K: Into<String>>( &self, key: K ) -> Result<TraceState, TraceStateError>
Removes the given key-value pair from the TraceState
. If the key is invalid per the
W3 Spec an Err
is returned. Else, a new TraceState
with the removed entry is returned.
If the key is not in TraceState
. The original TraceState
will be cloned and returned.
sourcepub fn header(&self) -> String
pub fn header(&self) -> String
Creates a new TraceState
header string, delimiting each key and value with a =
and each
entry with a ,
.
sourcepub fn header_delimited(
&self,
entry_delimiter: &str,
list_delimiter: &str
) -> String
pub fn header_delimited( &self, entry_delimiter: &str, list_delimiter: &str ) -> String
Creates a new TraceState
header string, with the given key/value delimiter and entry delimiter.
Trait Implementations§
source§impl Clone for TraceState
impl Clone for TraceState
source§fn clone(&self) -> TraceState
fn clone(&self) -> TraceState
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TraceState
impl Debug for TraceState
source§impl Default for TraceState
impl Default for TraceState
source§fn default() -> TraceState
fn default() -> TraceState
source§impl<'de> Deserialize<'de> for TraceState
impl<'de> Deserialize<'de> for TraceState
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>,
source§impl FromStr for TraceState
impl FromStr for TraceState
source§impl Hash for TraceState
impl Hash for TraceState
source§impl PartialEq for TraceState
impl PartialEq for TraceState
source§fn eq(&self, other: &TraceState) -> bool
fn eq(&self, other: &TraceState) -> bool
self
and other
values to be equal, and is used
by ==
.