Skip to content

leehambley/trace-context

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();

let trace_id = u128::from_str_radix("0af7651916cd43dd8448eb211c80319c", 16);
let parent_id = u64::from_str_radix("00f067aa0ba902b7", 16);

assert_eq!(context.trace_id(), trace_id.unwrap());
assert_eq!(context.parent_id(), trace_id.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

About

Extract and inject W3C TraceContext headers in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%