Skip to content

Commit a420f8c

Browse files
authored
Support Opentelemetry 0.31 (#144)
1 parent 8bc1be6 commit a420f8c

File tree

7 files changed

+31
-14
lines changed

7 files changed

+31
-14
lines changed

Cargo.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ members = [
88

99
[package]
1010
name = "tracing-actix-web"
11-
version = "0.7.19"
11+
version = "0.7.20"
1212
authors = ["Luca Palmieri <[email protected]>"]
1313
edition = "2018"
1414

@@ -97,6 +97,10 @@ opentelemetry_0_30 = [
9797
"opentelemetry_0_30_pkg",
9898
"tracing-opentelemetry_0_31_pkg",
9999
]
100+
opentelemetry_0_31 = [
101+
"opentelemetry_0_31_pkg",
102+
"tracing-opentelemetry_0_32_pkg",
103+
]
100104
emit_event_on_error = []
101105
uuid_v7 = ["uuid/v7"]
102106

@@ -124,6 +128,7 @@ opentelemetry_0_27_pkg = { package = "opentelemetry", version = "0.27", optional
124128
opentelemetry_0_28_pkg = { package = "opentelemetry", version = "0.28", optional = true }
125129
opentelemetry_0_29_pkg = { package = "opentelemetry", version = "0.29", optional = true }
126130
opentelemetry_0_30_pkg = { package = "opentelemetry", version = "0.30", optional = true }
131+
opentelemetry_0_31_pkg = { package = "opentelemetry", version = "0.31", optional = true }
127132
tracing-opentelemetry_0_12_pkg = { package = "tracing-opentelemetry", version = "0.12", optional = true }
128133
tracing-opentelemetry_0_13_pkg = { package = "tracing-opentelemetry", version = "0.13", optional = true }
129134
tracing-opentelemetry_0_14_pkg = { package = "tracing-opentelemetry", version = "0.14", optional = true }
@@ -142,6 +147,7 @@ tracing-opentelemetry_0_28_pkg = { package = "tracing-opentelemetry", version =
142147
tracing-opentelemetry_0_29_pkg = { package = "tracing-opentelemetry", version = "0.29", optional = true }
143148
tracing-opentelemetry_0_30_pkg = { package = "tracing-opentelemetry", version = "0.30", optional = true }
144149
tracing-opentelemetry_0_31_pkg = { package = "tracing-opentelemetry", version = "0.31", optional = true }
150+
tracing-opentelemetry_0_32_pkg = { package = "tracing-opentelemetry", version = "0.32", optional = true }
145151

146152
[dev-dependencies]
147153
actix-web = { version = "4", default-features = false, features = ["macros"] }

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ actix-web = "4"
6464
- `opentelemetry_0_28`: same as above but using `opentelemetry` 0.28;
6565
- `opentelemetry_0_29`: same as above but using `opentelemetry` 0.29;
6666
- `opentelemetry_0_30`: same as above but using `opentelemetry` 0.30;
67+
- `opentelemetry_0_31`: same as above but using `opentelemetry` 0.31;
6768
- `emit_event_on_error`: emit a [`tracing`] event when request processing fails with an error (enabled by default).
6869
- `uuid_v7`: use the UUID v7 implementation inside [`RequestId`] instead of UUID v4 (disabled by default).
6970
## Quickstart

examples/custom-root-span/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ edition = "2021"
88

99
[dependencies]
1010
actix-web = "4"
11-
opentelemetry = "0.30"
12-
opentelemetry-otlp = { version = "0.30", features = ["grpc-tonic"] }
13-
opentelemetry_sdk = { version = "0.30", features = ["rt-tokio-current-thread"] }
14-
opentelemetry-semantic-conventions = "0.30"
15-
tracing-opentelemetry = "0.31"
11+
opentelemetry = "0.31"
12+
opentelemetry-otlp = { version = "0.31", features = ["grpc-tonic"] }
13+
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio-current-thread"] }
14+
opentelemetry-semantic-conventions = "0.31"
15+
tracing-opentelemetry = "0.32"
1616
tracing = "0.1"
17-
tracing-actix-web = { path = "../..", features = ["opentelemetry_0_30"] }
17+
tracing-actix-web = { path = "../..", features = ["opentelemetry_0_31"] }
1818
tracing-bunyan-formatter = "0.3"
1919
tracing-subscriber = { version = "0.3", features = ["registry", "env-filter"] }

examples/opentelemetry/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ license = "MIT/Apache-2.0"
88

99
[dependencies]
1010
actix-web = "4"
11-
opentelemetry = "0.30"
12-
opentelemetry-otlp = { version = "0.30", features = ["grpc-tonic"] }
13-
opentelemetry_sdk = { version = "0.30", features = ["rt-tokio-current-thread"] }
14-
opentelemetry-semantic-conventions = "0.30"
11+
opentelemetry = "0.31"
12+
opentelemetry-otlp = { version = "0.31", features = ["grpc-tonic"] }
13+
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio-current-thread"] }
14+
opentelemetry-semantic-conventions = "0.31"
1515
tracing = "0.1"
16-
tracing-actix-web = { path = "../..", features = ["opentelemetry_0_30"] }
16+
tracing-actix-web = { path = "../..", features = ["opentelemetry_0_31"] }
1717
tracing-bunyan-formatter = "0.3"
18-
tracing-opentelemetry = "0.31"
18+
tracing-opentelemetry = "0.32"
1919
tracing-subscriber = { version = "0.3", features = ["registry", "env-filter"] }

src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
//! - `opentelemetry_0_28`: same as above but using `opentelemetry` 0.28;
3838
//! - `opentelemetry_0_29`: same as above but using `opentelemetry` 0.29;
3939
//! - `opentelemetry_0_30`: same as above but using `opentelemetry` 0.30;
40+
//! - `opentelemetry_0_31`: same as above but using `opentelemetry` 0.31;
4041
//! - `emit_event_on_error`: emit a [`tracing`] event when request processing fails with an error (enabled by default).
4142
//! - `uuid_v7`: use the UUID v7 implementation inside [`RequestId`] instead of UUID v4 (disabled by default).
4243
//!
@@ -319,6 +320,7 @@ mutually_exclusive_features::none_or_one_of!(
319320
"opentelemetry_0_28",
320321
"opentelemetry_0_29",
321322
"opentelemetry_0_30",
323+
"opentelemetry_0_31",
322324
);
323325

324326
#[cfg(any(
@@ -340,5 +342,6 @@ mutually_exclusive_features::none_or_one_of!(
340342
feature = "opentelemetry_0_28",
341343
feature = "opentelemetry_0_29",
342344
feature = "opentelemetry_0_30",
345+
feature = "opentelemetry_0_31",
343346
))]
344347
mod otel;

src/otel.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ use opentelemetry_0_28_pkg as opentelemetry;
3636
use opentelemetry_0_29_pkg as opentelemetry;
3737
#[cfg(feature = "opentelemetry_0_30")]
3838
use opentelemetry_0_30_pkg as opentelemetry;
39+
#[cfg(feature = "opentelemetry_0_31")]
40+
use opentelemetry_0_31_pkg as opentelemetry;
3941

4042
#[cfg(feature = "opentelemetry_0_13")]
4143
use tracing_opentelemetry_0_12_pkg as tracing_opentelemetry;
@@ -73,6 +75,8 @@ use tracing_opentelemetry_0_29_pkg as tracing_opentelemetry;
7375
use tracing_opentelemetry_0_30_pkg as tracing_opentelemetry;
7476
#[cfg(feature = "opentelemetry_0_30")]
7577
use tracing_opentelemetry_0_31_pkg as tracing_opentelemetry;
78+
#[cfg(feature = "opentelemetry_0_31")]
79+
use tracing_opentelemetry_0_32_pkg as tracing_opentelemetry;
7680

7781
use opentelemetry::propagation::Extractor;
7882

@@ -103,7 +107,7 @@ pub(crate) fn set_otel_parent(req: &ServiceRequest, span: &tracing::Span) {
103107
let parent_context = opentelemetry::global::get_text_map_propagator(|propagator| {
104108
propagator.extract(&RequestHeaderCarrier::new(req.headers()))
105109
});
106-
span.set_parent(parent_context);
110+
let _ = span.set_parent(parent_context);
107111
// If we have a remote parent span, this will be the parent's trace identifier.
108112
// If not, it will be the newly generated trace identifier with this request as root span.
109113
#[cfg(not(any(
@@ -121,6 +125,7 @@ pub(crate) fn set_otel_parent(req: &ServiceRequest, span: &tracing::Span) {
121125
feature = "opentelemetry_0_28",
122126
feature = "opentelemetry_0_29",
123127
feature = "opentelemetry_0_30",
128+
feature = "opentelemetry_0_31",
124129
)))]
125130
let trace_id = span.context().span().span_context().trace_id().to_hex();
126131

@@ -139,6 +144,7 @@ pub(crate) fn set_otel_parent(req: &ServiceRequest, span: &tracing::Span) {
139144
feature = "opentelemetry_0_28",
140145
feature = "opentelemetry_0_29",
141146
feature = "opentelemetry_0_30",
147+
feature = "opentelemetry_0_31",
142148
))]
143149
let trace_id = {
144150
let id = span.context().span().span_context().trace_id();

src/root_span_macro.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ pub mod private {
174174
feature = "opentelemetry_0_28",
175175
feature = "opentelemetry_0_29",
176176
feature = "opentelemetry_0_30",
177+
feature = "opentelemetry_0_31",
177178
))]
178179
crate::otel::set_otel_parent(req, span);
179180
}

0 commit comments

Comments
 (0)