Struct TraceState
pub struct TraceState(/* private fields */);
opentelemetry
only.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§
§impl TraceState
impl TraceState
pub const NONE: TraceState
pub const NONE: TraceState
The default TraceState
, as a constant
pub fn from_key_value<T, K, V>(
trace_state: T,
) -> Result<TraceState, TraceStateError>
pub fn from_key_value<T, K, V>( trace_state: T, ) -> Result<TraceState, TraceStateError>
Creates a new TraceState
from the given key-value collection.
§Examples
use opentelemetry::trace::TraceState;
let kvs = vec![("foo", "bar"), ("apple", "banana")];
let trace_state = TraceState::from_key_value(kvs);
assert!(trace_state.is_ok());
assert_eq!(trace_state.unwrap().header(), String::from("foo=bar,apple=banana"))
pub 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.
pub fn insert<K, V>(
&self,
key: K,
value: V,
) -> Result<TraceState, TraceStateError>
pub fn insert<K, V>( &self, key: K, value: V, ) -> Result<TraceState, TraceStateError>
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.
pub fn delete<K>(&self, key: K) -> Result<TraceState, TraceStateError>
pub fn delete<K>(&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.
pub 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 ,
.
pub 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§
§impl Clone for TraceState
impl Clone for TraceState
§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 more§impl Debug for TraceState
impl Debug for TraceState
§impl Default for TraceState
impl Default for TraceState
§fn default() -> TraceState
fn default() -> TraceState
§impl FromStr for TraceState
impl FromStr for TraceState
§impl Hash for TraceState
impl Hash for TraceState
§impl PartialEq for TraceState
impl PartialEq for TraceState
impl Eq for TraceState
impl StructuralPartialEq for TraceState
Auto Trait Implementations§
impl Freeze for TraceState
impl RefUnwindSafe for TraceState
impl Send for TraceState
impl Sync for TraceState
impl Unpin for TraceState
impl UnwindSafe for TraceState
Blanket Implementations§
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.