[−][src]Struct opentelemetry::sdk::trace::XrayIdGenerator
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::NoopSpanExporter; use opentelemetry::sdk::trace::{Config, TracerProvider, XrayIdGenerator}; let _provider: TracerProvider = TracerProvider::builder() .with_simple_exporter(NoopSpanExporter::new()) .with_config(Config { id_generator: Box::new(XrayIdGenerator::default()), ..Default::default() }) .build();
Trait Implementations
impl Debug for XrayIdGenerator
[src]
impl Default for XrayIdGenerator
[src]
fn default() -> XrayIdGenerator
[src]
impl IdGenerator for XrayIdGenerator
[src]
fn new_trace_id(&self) -> TraceId
[src]
Generates a new TraceId
that can be converted to an X-Ray Trace ID
fn new_span_id(&self) -> SpanId
[src]
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,