Struct opentelemetry::sdk::trace::XrayIdGenerator
source · pub struct XrayIdGenerator { /* private fields */ }
Expand description
Generates AWS X-Ray compliant Trace and Span ids.
Generates OpenTelemetry formatted TraceId
’s and SpanId
’s. The TraceId
’s are generated so
they can be backed out into X-Ray format by the AWS X-Ray Exporter in the
OpenTelemetry Collector.
Trace ID Format
A trace_id
consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979
.
This includes:
- The version number, that is, 1.
- The time of the original request, in Unix epoch time, in 8 hexadecimal digits.
- For example, 10:00AM December 1st, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal digits.
- A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.
See the AWS X-Ray Documentation for more details.
Example
use opentelemetry::trace::noop::NoopSpanExporter;
use opentelemetry::sdk::trace::{self, TracerProvider, XrayIdGenerator};
let _provider: TracerProvider = TracerProvider::builder()
.with_simple_exporter(NoopSpanExporter::new())
.with_config(trace::config().with_id_generator(XrayIdGenerator::default()))
.build();
Trait Implementations§
source§impl Debug for XrayIdGenerator
impl Debug for XrayIdGenerator
source§impl Default for XrayIdGenerator
impl Default for XrayIdGenerator
source§fn default() -> XrayIdGenerator
fn default() -> XrayIdGenerator
Returns the “default value” for a type. Read more
source§impl IdGenerator for XrayIdGenerator
impl IdGenerator for XrayIdGenerator
source§fn new_trace_id(&self) -> TraceId
fn new_trace_id(&self) -> TraceId
Generates a new TraceId
that can be converted to an X-Ray Trace ID
source§fn new_span_id(&self) -> SpanId
fn new_span_id(&self) -> SpanId
Generates a new SpanId
that can be converted to an X-Ray Segment ID
Auto Trait Implementations§
impl RefUnwindSafe for XrayIdGenerator
impl Send for XrayIdGenerator
impl Sync for XrayIdGenerator
impl Unpin for XrayIdGenerator
impl UnwindSafe for XrayIdGenerator
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
Mutably borrows from an owned value. Read more