1
0
mirror of https://github.com/actix/actix-extras.git synced 2025-07-01 20:25:09 +02:00
* Use matrix to test all versions.

* Add support for OTEL 0.16

* Typo.

* Fail on warnings.

* Inject headers when using OTEL 0.16.

* Fix.
This commit is contained in:
Luca Palmieri
2021-08-30 13:36:15 +02:00
committed by GitHub
parent 1f3ecfe182
commit 050bfe058d
6 changed files with 65 additions and 15 deletions

View File

@ -8,7 +8,7 @@
//! ```toml
//! [dependencies]
//! # ...
//! tracing-actix-web = "0.4.0-beta.10"
//! tracing-actix-web = "0.4.0-beta.11"
//! tracing = "0.1"
//! actix-web = "4.0.0-beta.8"
//! ```
@ -18,6 +18,7 @@
//! - `opentelemetry_0_13`: attach [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-rust)'s context to the root span using `opentelemetry` 0.13;
//! - `opentelemetry_0_14`: same as above but using `opentelemetry` 0.14;
//! - `opentelemetry_0_15`: same as above but using `opentelemetry` 0.15;
//! - `opentelemetry_0_16`: same as above but using `opentelemetry` 0.16;
//! - `emit_event_on_error`: emit a [`tracing`] event when request processing fails with an error (enabled by default).
//!
//! `tracing-actix-web` will release `0.4.0`, going out of beta, as soon as `actix-web` releases a stable `4.0.0`.
@ -243,7 +244,8 @@ pub mod root_span_macro;
#[cfg(any(
feature = "opentelemetry_0_13",
feature = "opentelemetry_0_14",
feature = "opentelemetry_0_15"
feature = "opentelemetry_0_15",
feature = "opentelemetry_0_16"
))]
mod otel;
@ -253,5 +255,14 @@ compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_14\
#[cfg(all(feature = "opentelemetry_0_13", feature = "opentelemetry_0_15"))]
compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_15\" cannot be enabled at the same time");
#[cfg(all(feature = "opentelemetry_0_13", feature = "opentelemetry_0_16"))]
compile_error!("feature \"opentelemetry_0_13\" and feature \"opentelemetry_0_16\" 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");
#[cfg(all(feature = "opentelemetry_0_14", feature = "opentelemetry_0_16"))]
compile_error!("feature \"opentelemetry_0_14\" and feature \"opentelemetry_0_16\" 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");

View File

@ -6,6 +6,8 @@ use opentelemetry_0_13_pkg as opentelemetry;
use opentelemetry_0_14_pkg as opentelemetry;
#[cfg(feature = "opentelemetry_0_15")]
use opentelemetry_0_15_pkg as opentelemetry;
#[cfg(feature = "opentelemetry_0_16")]
use opentelemetry_0_16_pkg as opentelemetry;
#[cfg(feature = "opentelemetry_0_13")]
use tracing_opentelemetry_0_12_pkg as tracing_opentelemetry;
@ -13,6 +15,8 @@ use tracing_opentelemetry_0_12_pkg as tracing_opentelemetry;
use tracing_opentelemetry_0_13_pkg as tracing_opentelemetry;
#[cfg(feature = "opentelemetry_0_15")]
use tracing_opentelemetry_0_14_pkg as tracing_opentelemetry;
#[cfg(feature = "opentelemetry_0_16")]
use tracing_opentelemetry_0_15_pkg as tracing_opentelemetry;
use opentelemetry::propagation::Extractor;

View File

@ -97,7 +97,12 @@ macro_rules! root_span {
);
std::mem::drop(connection_info);
#[cfg(any(feature = "opentelemetry_0_13", feature = "opentelemetry_0_14", feature = "opentelemetry_0_15"))]
#[cfg(any(
feature = "opentelemetry_0_13",
feature = "opentelemetry_0_14",
feature = "opentelemetry_0_15",
feature = "opentelemetry_0_16"
))]
$crate::root_span_macro::private::set_otel_parent(&$request, &span);
span
@ -121,7 +126,8 @@ pub mod private {
#[cfg(any(
feature = "opentelemetry_0_13",
feature = "opentelemetry_0_14",
feature = "opentelemetry_0_15"
feature = "opentelemetry_0_15",
feature = "opentelemetry_0_16"
))]
#[doc(hidden)]
pub fn set_otel_parent(req: &ServiceRequest, span: &tracing::Span) {