1pub mod context;
2pub mod exporter;
3pub mod propagator;
4pub mod sampler;
5pub mod span;
6pub mod tracer;
7
8pub use context::{TraceContext, TraceContextExt};
9pub use exporter::{ExporterConfig, TraceExporter};
10pub use propagator::{HttpHeaders, TracePropagator};
11pub use sampler::{SamplingDecision, SamplingStrategy, TraceSampler};
12pub use span::{SpanBuilder, SpanKind, SpanStatus};
13pub use tracer::{RevokeTracer, TracerConfig};
14
15use opentelemetry_sdk::trace::TraceError;
16
17pub type Result<T> = std::result::Result<T, TraceError>;
18
19pub async fn init_tracer(config: TracerConfig) -> Result<()> {
21 let tracer = RevokeTracer::new(config).await?;
22 tracer.install_global()?;
23 Ok(())
24}
25
26pub async fn shutdown_tracer() -> Result<()> {
28 Ok(())
31}