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_sdk::trace::{self, TracerProvider, XrayIdGenerator};
let _provider: TracerProvider = TracerProvider::builder()
.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 Freeze for XrayIdGenerator
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