1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//! # OpenTelemetry SDK
//!
//! This SDK provides an opinionated reference implementation of
//! the OpenTelemetry API. The SDK implements the specifics of
//! deciding which data to collect through `Sampler`s, and
//! facilitates the delivery of telemetry data to storage systems
//! through `Exporter`s. These can be configured on `Tracer` and
//! `Meter` creation.
#[cfg(feature = "metrics")]
pub mod metrics;
pub mod resource;
#[cfg(feature = "trace")]
pub mod trace;

#[cfg(feature = "metrics")]
pub use metrics::{LabelSet, Meter};
pub use resource::Resource;
#[cfg(feature = "trace")]
pub use trace::{
    config::Config,
    evicted_hash_map::EvictedHashMap,
    evicted_queue::EvictedQueue,
    id_generator::IdGenerator,
    provider::Provider,
    sampler::{Sampler, SamplingDecision, SamplingResult, ShouldSample},
    span::Span,
    span_processor::{BatchSpanProcessor, SimpleSpanProcessor},
    tracer::Tracer,
};