1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
//! # OpenTelemetry Id Generator Interface
use crate::api;
use std::fmt;

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

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