diff --git a/opentelemetry/src/api/mod.rs b/opentelemetry/src/api/mod.rs deleted file mode 100644 index 27fe4fb7ca..0000000000 --- a/opentelemetry/src/api/mod.rs +++ /dev/null @@ -1,43 +0,0 @@ -#[cfg(feature = "metrics")] -#[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] -use crate::api::metrics::MetricsError; -#[cfg(feature = "trace")] -#[cfg_attr(docsrs, doc(cfg(feature = "trace")))] -use crate::api::trace::TraceError; -use std::sync::PoisonError; - -pub mod baggage; -pub(crate) mod context; -pub(crate) mod core; -#[cfg(feature = "metrics")] -#[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] -pub mod labels; -#[cfg(feature = "metrics")] -#[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] -pub mod metrics; -pub mod propagation; -#[cfg(feature = "trace")] -#[cfg_attr(docsrs, doc(cfg(feature = "trace")))] -pub mod trace; - -/// Wrapper for error from both tracing and metrics part of open telemetry. -#[derive(thiserror::Error, Debug)] -#[non_exhaustive] -pub enum Error { - #[cfg(feature = "trace")] - #[cfg_attr(docsrs, doc(cfg(feature = "trace")))] - #[error(transparent)] - Trace(#[from] TraceError), - #[cfg(feature = "metrics")] - #[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] - #[error(transparent)] - Metric(#[from] MetricsError), - #[error("{0}")] - Other(String), -} - -impl From> for Error { - fn from(err: PoisonError) -> Self { - Error::Other(err.to_string()) - } -} diff --git a/opentelemetry/src/api/baggage.rs b/opentelemetry/src/baggage.rs similarity index 100% rename from opentelemetry/src/api/baggage.rs rename to opentelemetry/src/baggage.rs diff --git a/opentelemetry/src/api/context.rs b/opentelemetry/src/context.rs similarity index 100% rename from opentelemetry/src/api/context.rs rename to opentelemetry/src/context.rs diff --git a/opentelemetry/src/api/core.rs b/opentelemetry/src/core.rs similarity index 100% rename from opentelemetry/src/api/core.rs rename to opentelemetry/src/core.rs diff --git a/opentelemetry/src/global/error_handler.rs b/opentelemetry/src/global/error_handler.rs index 9e3666630a..2158d61eec 100644 --- a/opentelemetry/src/global/error_handler.rs +++ b/opentelemetry/src/global/error_handler.rs @@ -1,11 +1,38 @@ -use crate::api::Error; +use std::sync::PoisonError; use std::sync::RwLock; +#[cfg(feature = "metrics")] +use crate::metrics::MetricsError; +#[cfg(feature = "trace")] +use crate::trace::TraceError; + lazy_static::lazy_static! { /// The global error handler. static ref GLOBAL_ERROR_HANDLER: RwLock> = RwLock::new(None); } +/// Wrapper for error from both tracing and metrics part of open telemetry. +#[derive(thiserror::Error, Debug)] +#[non_exhaustive] +pub enum Error { + #[cfg(feature = "trace")] + #[cfg_attr(docsrs, doc(cfg(feature = "trace")))] + #[error(transparent)] + Trace(#[from] TraceError), + #[cfg(feature = "metrics")] + #[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] + #[error(transparent)] + Metric(#[from] MetricsError), + #[error("{0}")] + Other(String), +} + +impl From> for Error { + fn from(err: PoisonError) -> Self { + Error::Other(err.to_string()) + } +} + struct ErrorHandler(Box); /// Handle error using the globally configured error handler. diff --git a/opentelemetry/src/api/labels/encoder.rs b/opentelemetry/src/labels/encoder.rs similarity index 100% rename from opentelemetry/src/api/labels/encoder.rs rename to opentelemetry/src/labels/encoder.rs diff --git a/opentelemetry/src/api/labels/mod.rs b/opentelemetry/src/labels/mod.rs similarity index 100% rename from opentelemetry/src/api/labels/mod.rs rename to opentelemetry/src/labels/mod.rs diff --git a/opentelemetry/src/lib.rs b/opentelemetry/src/lib.rs index 3af5fd4b89..f1557ed22d 100644 --- a/opentelemetry/src/lib.rs +++ b/opentelemetry/src/lib.rs @@ -160,7 +160,6 @@ )] #![cfg_attr(test, deny(warnings))] -mod api; pub mod global; pub mod sdk; @@ -168,21 +167,27 @@ pub mod sdk; #[allow(missing_docs)] pub mod testing; +pub mod baggage; + +mod context; +pub use context::{Context, ContextGuard}; + +mod core; +pub use crate::core::{Array, Key, KeyValue, Unit, Value}; + #[cfg(feature = "metrics")] #[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] -pub use api::labels; +pub mod labels; + #[cfg(feature = "metrics")] #[cfg_attr(docsrs, doc(cfg(feature = "metrics")))] -pub use api::metrics; +pub mod metrics; + +pub mod propagation; + #[cfg(feature = "trace")] #[cfg_attr(docsrs, doc(cfg(feature = "trace")))] -pub use api::trace; -pub use api::{ - baggage, - context::{Context, ContextGuard}, - core::{Array, Key, KeyValue, Unit, Value}, - propagation, -}; +pub mod trace; #[cfg(any(feature = "metrics", feature = "trace"))] pub(crate) mod time { diff --git a/opentelemetry/src/api/metrics/async_instrument.rs b/opentelemetry/src/metrics/async_instrument.rs similarity index 100% rename from opentelemetry/src/api/metrics/async_instrument.rs rename to opentelemetry/src/metrics/async_instrument.rs diff --git a/opentelemetry/src/api/metrics/config.rs b/opentelemetry/src/metrics/config.rs similarity index 100% rename from opentelemetry/src/api/metrics/config.rs rename to opentelemetry/src/metrics/config.rs diff --git a/opentelemetry/src/api/metrics/counter.rs b/opentelemetry/src/metrics/counter.rs similarity index 100% rename from opentelemetry/src/api/metrics/counter.rs rename to opentelemetry/src/metrics/counter.rs diff --git a/opentelemetry/src/api/metrics/descriptor.rs b/opentelemetry/src/metrics/descriptor.rs similarity index 100% rename from opentelemetry/src/api/metrics/descriptor.rs rename to opentelemetry/src/metrics/descriptor.rs diff --git a/opentelemetry/src/api/metrics/kind.rs b/opentelemetry/src/metrics/kind.rs similarity index 100% rename from opentelemetry/src/api/metrics/kind.rs rename to opentelemetry/src/metrics/kind.rs diff --git a/opentelemetry/src/api/metrics/meter.rs b/opentelemetry/src/metrics/meter.rs similarity index 100% rename from opentelemetry/src/api/metrics/meter.rs rename to opentelemetry/src/metrics/meter.rs diff --git a/opentelemetry/src/api/metrics/mod.rs b/opentelemetry/src/metrics/mod.rs similarity index 100% rename from opentelemetry/src/api/metrics/mod.rs rename to opentelemetry/src/metrics/mod.rs diff --git a/opentelemetry/src/api/metrics/noop.rs b/opentelemetry/src/metrics/noop.rs similarity index 100% rename from opentelemetry/src/api/metrics/noop.rs rename to opentelemetry/src/metrics/noop.rs diff --git a/opentelemetry/src/api/metrics/number.rs b/opentelemetry/src/metrics/number.rs similarity index 100% rename from opentelemetry/src/api/metrics/number.rs rename to opentelemetry/src/metrics/number.rs diff --git a/opentelemetry/src/api/metrics/observer.rs b/opentelemetry/src/metrics/observer.rs similarity index 100% rename from opentelemetry/src/api/metrics/observer.rs rename to opentelemetry/src/metrics/observer.rs diff --git a/opentelemetry/src/api/metrics/registry.rs b/opentelemetry/src/metrics/registry.rs similarity index 100% rename from opentelemetry/src/api/metrics/registry.rs rename to opentelemetry/src/metrics/registry.rs diff --git a/opentelemetry/src/api/metrics/sdk_api.rs b/opentelemetry/src/metrics/sdk_api.rs similarity index 100% rename from opentelemetry/src/api/metrics/sdk_api.rs rename to opentelemetry/src/metrics/sdk_api.rs diff --git a/opentelemetry/src/api/metrics/sync_instrument.rs b/opentelemetry/src/metrics/sync_instrument.rs similarity index 100% rename from opentelemetry/src/api/metrics/sync_instrument.rs rename to opentelemetry/src/metrics/sync_instrument.rs diff --git a/opentelemetry/src/api/metrics/up_down_counter.rs b/opentelemetry/src/metrics/up_down_counter.rs similarity index 100% rename from opentelemetry/src/api/metrics/up_down_counter.rs rename to opentelemetry/src/metrics/up_down_counter.rs diff --git a/opentelemetry/src/api/metrics/value_recorder.rs b/opentelemetry/src/metrics/value_recorder.rs similarity index 100% rename from opentelemetry/src/api/metrics/value_recorder.rs rename to opentelemetry/src/metrics/value_recorder.rs diff --git a/opentelemetry/src/api/propagation/mod.rs b/opentelemetry/src/propagation/mod.rs similarity index 100% rename from opentelemetry/src/api/propagation/mod.rs rename to opentelemetry/src/propagation/mod.rs diff --git a/opentelemetry/src/api/propagation/text_map_propagator.rs b/opentelemetry/src/propagation/text_map_propagator.rs similarity index 100% rename from opentelemetry/src/api/propagation/text_map_propagator.rs rename to opentelemetry/src/propagation/text_map_propagator.rs diff --git a/opentelemetry/src/sdk/export/trace/mod.rs b/opentelemetry/src/sdk/export/trace/mod.rs index b1106af91d..2efd3516ed 100644 --- a/opentelemetry/src/sdk/export/trace/mod.rs +++ b/opentelemetry/src/sdk/export/trace/mod.rs @@ -1,10 +1,9 @@ //! Trace exporters -use crate::api::trace::TraceError; #[cfg(all(feature = "http", any(feature = "surf", feature = "reqwest")))] use crate::sdk::export::ExportError; use crate::{ sdk, - trace::{Event, Link, SpanContext, SpanId, SpanKind, StatusCode}, + trace::{Event, Link, SpanContext, SpanId, SpanKind, StatusCode, TraceError}, }; use async_trait::async_trait; #[cfg(feature = "http")] diff --git a/opentelemetry/src/sdk/trace/span.rs b/opentelemetry/src/sdk/trace/span.rs index 02db17b304..f8eec586b1 100644 --- a/opentelemetry/src/sdk/trace/span.rs +++ b/opentelemetry/src/sdk/trace/span.rs @@ -9,7 +9,7 @@ //! is possible to change its name, set its `Attributes`, and add `Links` and `Events`. //! These cannot be changed after the `Span`'s end time has been set. use crate::trace::{Event, SpanContext, SpanId, SpanKind, StatusCode}; -use crate::{api, sdk, KeyValue}; +use crate::{sdk, trace, KeyValue}; use std::sync::{Arc, Mutex}; use std::time::SystemTime; @@ -42,9 +42,9 @@ pub(crate) struct SpanData { /// Span attributes pub(crate) attributes: sdk::trace::EvictedHashMap, /// Span Message events - pub(crate) message_events: sdk::trace::EvictedQueue, + pub(crate) message_events: sdk::trace::EvictedQueue, /// Span Links - pub(crate) links: sdk::trace::EvictedQueue, + pub(crate) links: sdk::trace::EvictedQueue, /// Span status code pub(crate) status_code: StatusCode, /// Span status message @@ -223,7 +223,7 @@ fn build_export_data( #[cfg(test)] mod tests { use super::*; - use crate::{api, api::core::KeyValue, api::trace::Span as _, api::trace::TracerProvider}; + use crate::{core::KeyValue, trace::Span as _, trace::TracerProvider}; use std::time::Duration; fn init() -> (sdk::trace::Tracer, SpanData) { @@ -232,7 +232,7 @@ mod tests { let tracer = provider.get_tracer("opentelemetry", Some(env!("CARGO_PKG_VERSION"))); let data = SpanData { parent_span_id: SpanId::from_u64(0), - span_kind: api::trace::SpanKind::Internal, + span_kind: trace::SpanKind::Internal, name: "opentelemetry".to_string(), start_time: crate::time::now(), end_time: crate::time::now(), diff --git a/opentelemetry/src/sdk/trace/span_processor.rs b/opentelemetry/src/sdk/trace/span_processor.rs index d0a1ca4ddb..fce15412f5 100644 --- a/opentelemetry/src/sdk/trace/span_processor.rs +++ b/opentelemetry/src/sdk/trace/span_processor.rs @@ -40,11 +40,11 @@ use futures::{ FutureExt, Stream, StreamExt, }; -use crate::api::trace::{TraceError, TraceResult}; use crate::global; use crate::sdk::trace::Span; use crate::{ sdk::export::trace::{ExportResult, SpanData, SpanExporter}, + trace::{TraceError, TraceResult}, Context, }; diff --git a/opentelemetry/src/api/trace/context.rs b/opentelemetry/src/trace/context.rs similarity index 100% rename from opentelemetry/src/api/trace/context.rs rename to opentelemetry/src/trace/context.rs diff --git a/opentelemetry/src/api/trace/event.rs b/opentelemetry/src/trace/event.rs similarity index 100% rename from opentelemetry/src/api/trace/event.rs rename to opentelemetry/src/trace/event.rs diff --git a/opentelemetry/src/api/trace/futures.rs b/opentelemetry/src/trace/futures.rs similarity index 100% rename from opentelemetry/src/api/trace/futures.rs rename to opentelemetry/src/trace/futures.rs diff --git a/opentelemetry/src/api/trace/id_generator.rs b/opentelemetry/src/trace/id_generator.rs similarity index 100% rename from opentelemetry/src/api/trace/id_generator.rs rename to opentelemetry/src/trace/id_generator.rs diff --git a/opentelemetry/src/api/trace/link.rs b/opentelemetry/src/trace/link.rs similarity index 100% rename from opentelemetry/src/api/trace/link.rs rename to opentelemetry/src/trace/link.rs diff --git a/opentelemetry/src/api/trace/mod.rs b/opentelemetry/src/trace/mod.rs similarity index 100% rename from opentelemetry/src/api/trace/mod.rs rename to opentelemetry/src/trace/mod.rs diff --git a/opentelemetry/src/api/trace/noop.rs b/opentelemetry/src/trace/noop.rs similarity index 100% rename from opentelemetry/src/api/trace/noop.rs rename to opentelemetry/src/trace/noop.rs diff --git a/opentelemetry/src/api/trace/provider.rs b/opentelemetry/src/trace/provider.rs similarity index 100% rename from opentelemetry/src/api/trace/provider.rs rename to opentelemetry/src/trace/provider.rs diff --git a/opentelemetry/src/api/trace/span.rs b/opentelemetry/src/trace/span.rs similarity index 100% rename from opentelemetry/src/api/trace/span.rs rename to opentelemetry/src/trace/span.rs diff --git a/opentelemetry/src/api/trace/span_context.rs b/opentelemetry/src/trace/span_context.rs similarity index 100% rename from opentelemetry/src/api/trace/span_context.rs rename to opentelemetry/src/trace/span_context.rs diff --git a/opentelemetry/src/api/trace/tracer.rs b/opentelemetry/src/trace/tracer.rs similarity index 100% rename from opentelemetry/src/api/trace/tracer.rs rename to opentelemetry/src/trace/tracer.rs