apollo-opentelemetry 0.8.0

OpenTelemetry configuration types for Apollo platform
Documentation
//! Tracer provider configuration.
//!
//! See the [OpenTelemetry Tracing SDK specification](https://opentelemetry.io/docs/specs/otel/trace/sdk/)
//! for details.

mod processor;
mod sampler;

pub(crate) use processor::BatchSpanProcessorConfig;
pub(crate) use processor::RateLimitedSpanProcessorConfig;
pub(crate) use processor::SpanLimitsConfig;
pub(crate) use processor::SpanProcessor;
pub(crate) use sampler::Sampler;

use apollo_configuration::configuration;

/// Tracer provider configuration.
#[configuration]
pub(crate) struct TracerProviderConfig {
    /// Span processors for collecting and exporting spans.
    pub(crate) processors: Vec<SpanProcessor>,

    /// Sampling configuration.
    pub(crate) sampler: Sampler,

    /// Span limits.
    pub(crate) limits: SpanLimitsConfig,
}