1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
//! # OpenTelemetry Id Generator Interface
use crate::trace::{SpanId, TraceId};
use std::fmt;

/// Interface for generating IDs
pub trait IdGenerator: Send + Sync + fmt::Debug {
    /// Generate a new `TraceId`
    fn new_trace_id(&self) -> TraceId;

    /// Generate a new `SpanId`
    fn new_span_id(&self) -> SpanId;
}