trace-context

Crates.iotrace-context
lib.rstrace-context
version0.1.0
sourcesrc
created_at2019-06-02 22:40:57.287347
updated_at2019-06-02 22:40:57.287347
descriptionExtract and inject W3C TraceContext headers
homepagehttps://github.com/watson/trace-context
repositoryhttps://github.com/watson/trace-context
max_upload_size
id138586
size21,578
Thomas Watson (watson)

documentation

https://docs.rs/runtime

README

trace-context

Extract and inject W3C TraceContext headers.

Installation

cargo add trace-context

Example usage

let mut headers = http::HeaderMap::new();
headers.insert("traceparent", "00-0af7651916cd43dd8448eb211c80319c-00f067aa0ba902b7-01".parse().unwrap());

let context = trace_context::TraceContext::extract(&headers).unwrap();

assert_eq!(context.trace_id(), u128::from_str_radix("0af7651916cd43dd8448eb211c80319c", 16).unwrap());
assert_eq!(context.parent_id(), u64::from_str_radix("00f067aa0ba902b7", 16).ok());
assert_eq!(context.sampled(), true);

Safety

This crate uses #![deny(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

License

MIT OR Apache-2.0

Commit count: 4

cargo fmt