diff --git a/.github/workflows/general.yml b/.github/workflows/general.yml index a2be635fd..e824e0e09 100644 --- a/.github/workflows/general.yml +++ b/.github/workflows/general.yml @@ -55,6 +55,7 @@ jobs: - opentelemetry_0_17 - opentelemetry_0_18 - opentelemetry_0_19 + - opentelemetry_0_20 steps: - uses: actions/checkout@v2 - name: Cache dependencies diff --git a/Cargo.toml b/Cargo.toml index a3bc14e7e..f8bd67b9b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = [".", "examples/opentelemetry", "examples/custom-root-span", "examples [package] name = "tracing-actix-web" -version = "0.7.5" +version = "0.7.6" authors = ["Luca Palmieri "] edition = "2018" @@ -27,6 +27,7 @@ opentelemetry_0_16 = ["opentelemetry_0_16_pkg", "tracing-opentelemetry_0_16_pkg" opentelemetry_0_17 = ["opentelemetry_0_17_pkg", "tracing-opentelemetry_0_17_pkg"] opentelemetry_0_18 = ["opentelemetry_0_18_pkg", "tracing-opentelemetry_0_18_pkg"] opentelemetry_0_19 = ["opentelemetry_0_19_pkg", "tracing-opentelemetry_0_19_pkg"] +opentelemetry_0_20 = ["opentelemetry_0_20_pkg", "tracing-opentelemetry_0_20_pkg"] emit_event_on_error = [] [dependencies] @@ -41,6 +42,7 @@ opentelemetry_0_16_pkg = { package = "opentelemetry", version = "0.16", optional opentelemetry_0_17_pkg = { package = "opentelemetry", version = "0.17", optional = true } opentelemetry_0_18_pkg = { package = "opentelemetry", version = "0.18", optional = true } opentelemetry_0_19_pkg = { package = "opentelemetry", version = "0.19", optional = true } +opentelemetry_0_20_pkg = { package = "opentelemetry", version = "0.20", optional = true } tracing-opentelemetry_0_12_pkg = { package = "tracing-opentelemetry",version = "0.12", optional = true } tracing-opentelemetry_0_13_pkg = { package = "tracing-opentelemetry", version = "0.13", optional = true } tracing-opentelemetry_0_14_pkg = { package = "tracing-opentelemetry",version = "0.14", optional = true } @@ -48,6 +50,7 @@ tracing-opentelemetry_0_16_pkg = { package = "tracing-opentelemetry",version = " tracing-opentelemetry_0_17_pkg = { package = "tracing-opentelemetry",version = "0.17", optional = true } tracing-opentelemetry_0_18_pkg = { package = "tracing-opentelemetry",version = "0.18", optional = true } tracing-opentelemetry_0_19_pkg = { package = "tracing-opentelemetry",version = "0.19", optional = true } +tracing-opentelemetry_0_20_pkg = { package = "tracing-opentelemetry",version = "0.20", optional = true } [dev-dependencies] actix-web = { version = "4", default-features = false, features = ["macros"] } diff --git a/src/lib.rs b/src/lib.rs index 39b6ac006..06d576306 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,6 +26,7 @@ //! - `opentelemetry_0_17`: same as above but using `opentelemetry` 0.17; //! - `opentelemetry_0_18`: same as above but using `opentelemetry` 0.18; //! - `opentelemetry_0_19`: same as above but using `opentelemetry` 0.19; +//! - `opentelemetry_0_20`: same as above but using `opentelemetry` 0.20; //! - `emit_event_on_error`: emit a [`tracing`] event when request processing fails with an error (enabled by default). //! //! ## Quickstart @@ -293,7 +294,8 @@ pub mod root_span_macro; feature = "opentelemetry_0_16", feature = "opentelemetry_0_17", feature = "opentelemetry_0_18", - feature = "opentelemetry_0_19" + feature = "opentelemetry_0_19", + feature = "opentelemetry_0_20" ))] mod otel; @@ -315,6 +317,9 @@ compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_18\ #[cfg(all(feature = "opentelemetry_0_13", feature = "opentelemetry_0_19"))] compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_19\" cannot be enabled at the same time"); +#[cfg(all(feature = "opentelemetry_0_13", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); + #[cfg(all(feature = "opentelemetry_0_14", feature = "opentelemetry_0_15"))] compile_error!("feature \"opentelemetry_0_14\" and feature \"opentelemetry_0_15\" cannot be enabled at the same time"); @@ -330,6 +335,9 @@ compile_error!("feature \"opentelemetry_0_14\" and feature \"opentelemetry_0_18\ #[cfg(all(feature = "opentelemetry_0_14", feature = "opentelemetry_0_19"))] compile_error!("feature \"opentelemetry_0_14\" and feature \"opentelemetry_0_19\" cannot be enabled at the same time"); +#[cfg(all(feature = "opentelemetry_0_14", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_14\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); + #[cfg(all(feature = "opentelemetry_0_15", feature = "opentelemetry_0_16"))] compile_error!("feature \"opentelemetry_0_15\" and feature \"opentelemetry_0_16\" cannot be enabled at the same time"); @@ -342,6 +350,9 @@ compile_error!("feature \"opentelemetry_0_15\" and feature \"opentelemetry_0_18\ #[cfg(all(feature = "opentelemetry_0_15", feature = "opentelemetry_0_19"))] compile_error!("feature \"opentelemetry_0_15\" and feature \"opentelemetry_0_19\" cannot be enabled at the same time"); +#[cfg(all(feature = "opentelemetry_0_15", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_15\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); + #[cfg(all(feature = "opentelemetry_0_16", feature = "opentelemetry_0_17"))] compile_error!("feature \"opentelemetry_0_16\" and feature \"opentelemetry_0_17\" cannot be enabled at the same time"); @@ -351,11 +362,23 @@ compile_error!("feature \"opentelemetry_0_16\" and feature \"opentelemetry_0_18\ #[cfg(all(feature = "opentelemetry_0_16", feature = "opentelemetry_0_19"))] compile_error!("feature \"opentelemetry_0_16\" and feature \"opentelemetry_0_19\" cannot be enabled at the same time"); +#[cfg(all(feature = "opentelemetry_0_16", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_16\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); + #[cfg(all(feature = "opentelemetry_0_17", feature = "opentelemetry_0_18"))] compile_error!("feature \"opentelemetry_0_17\" and feature \"opentelemetry_0_18\" cannot be enabled at the same time"); #[cfg(all(feature = "opentelemetry_0_17", feature = "opentelemetry_0_19"))] compile_error!("feature \"opentelemetry_0_17\" and feature \"opentelemetry_0_19\" cannot be enabled at the same time"); +#[cfg(all(feature = "opentelemetry_0_17", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_17\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); + #[cfg(all(feature = "opentelemetry_0_18", feature = "opentelemetry_0_19"))] compile_error!("feature \"opentelemetry_0_18\" and feature \"opentelemetry_0_19\" cannot be enabled at the same time"); + +#[cfg(all(feature = "opentelemetry_0_18", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_18\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); + +#[cfg(all(feature = "opentelemetry_0_19", feature = "opentelemetry_0_20"))] +compile_error!("feature \"opentelemetry_0_19\" and feature \"opentelemetry_0_20\" cannot be enabled at the same time"); diff --git a/src/middleware.rs b/src/middleware.rs index a82051167..9bd706eff 100644 --- a/src/middleware.rs +++ b/src/middleware.rs @@ -119,7 +119,7 @@ where fn new_transform(&self, service: S) -> Self::Future { ready(Ok(TracingLoggerMiddleware { service, - root_span_builder: std::marker::PhantomData::default(), + root_span_builder: std::marker::PhantomData, })) } } diff --git a/src/otel.rs b/src/otel.rs index 0dc599545..ac9f3ba6b 100644 --- a/src/otel.rs +++ b/src/otel.rs @@ -14,6 +14,8 @@ use opentelemetry_0_17_pkg as opentelemetry; use opentelemetry_0_18_pkg as opentelemetry; #[cfg(feature = "opentelemetry_0_19")] use opentelemetry_0_19_pkg as opentelemetry; +#[cfg(feature = "opentelemetry_0_20")] +use opentelemetry_0_20_pkg as opentelemetry; #[cfg(feature = "opentelemetry_0_13")] use tracing_opentelemetry_0_12_pkg as tracing_opentelemetry; @@ -29,6 +31,8 @@ use tracing_opentelemetry_0_17_pkg as tracing_opentelemetry; use tracing_opentelemetry_0_18_pkg as tracing_opentelemetry; #[cfg(feature = "opentelemetry_0_19")] use tracing_opentelemetry_0_19_pkg as tracing_opentelemetry; +#[cfg(feature = "opentelemetry_0_20")] +use tracing_opentelemetry_0_20_pkg as tracing_opentelemetry; use opentelemetry::propagation::Extractor; @@ -65,14 +69,16 @@ pub(crate) fn set_otel_parent(req: &ServiceRequest, span: &tracing::Span) { #[cfg(not(any( feature = "opentelemetry_0_17", feature = "opentelemetry_0_18", - feature = "opentelemetry_0_19" + feature = "opentelemetry_0_19", + feature = "opentelemetry_0_20" )))] let trace_id = span.context().span().span_context().trace_id().to_hex(); #[cfg(any( feature = "opentelemetry_0_17", feature = "opentelemetry_0_18", - feature = "opentelemetry_0_19" + feature = "opentelemetry_0_19", + feature = "opentelemetry_0_20" ))] let trace_id = { let id = span.context().span().span_context().trace_id(); diff --git a/src/root_span_macro.rs b/src/root_span_macro.rs index c1c191be5..d78c15876 100644 --- a/src/root_span_macro.rs +++ b/src/root_span_macro.rs @@ -162,7 +162,8 @@ pub mod private { feature = "opentelemetry_0_16", feature = "opentelemetry_0_17", feature = "opentelemetry_0_18", - feature = "opentelemetry_0_19" + feature = "opentelemetry_0_19", + feature = "opentelemetry_0_20" ))] crate::otel::set_otel_parent(req, span); }