Add opentelemetry 0.20
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
asonix 2023-08-04 18:53:36 -05:00
parent 9c3d864239
commit e9c3b62578
3 changed files with 40 additions and 24 deletions

View file

@ -30,8 +30,9 @@ steps:
- cargo clippy --features opentelemetry_0_17 -- -D warnings
- cargo clippy --features opentelemetry_0_18 -- -D warnings
- cargo clippy --features opentelemetry_0_19 -- -D warnings
- cargo clippy --example client --features opentelemetry_0_19 -- -D warnings
- cargo clippy --example server --features opentelemetry_0_19 -- -D warnings
- cargo clippy --features opentelemetry_0_20 -- -D warnings
- cargo clippy --example client --features opentelemetry_0_20 -- -D warnings
- cargo clippy --example server --features opentelemetry_0_20 -- -D warnings
trigger:
event:
@ -98,8 +99,8 @@ steps:
pull: always
commands:
- cargo check --target=$TARGET
- cargo check --target=$TARGET --example client --features opentelemetry_0_19
- cargo check --target=$TARGET --example server --features opentelemetry_0_19
- cargo check --target=$TARGET --example client --features opentelemetry_0_20
- cargo check --target=$TARGET --example server --features opentelemetry_0_20
trigger:
event:
@ -132,8 +133,8 @@ steps:
pull: always
commands:
- cargo check --target=$TARGET
- cargo check --target=$TARGET --example client --features opentelemetry_0_19
- cargo check --target=$TARGET --example server --features opentelemetry_0_19
- cargo check --target=$TARGET --example client --features opentelemetry_0_20
- cargo check --target=$TARGET --example server --features opentelemetry_0_20
trigger:
event:
@ -166,8 +167,8 @@ steps:
pull: always
commands:
- cargo check --target=$TARGET
- cargo check --target=$TARGET --example client --features opentelemetry_0_19
- cargo check --target=$TARGET --example server --features opentelemetry_0_19
- cargo check --target=$TARGET --example client --features opentelemetry_0_20
- cargo check --target=$TARGET --example server --features opentelemetry_0_20
trigger:
event:
@ -199,8 +200,8 @@ steps:
pull: always
commands:
- cargo build --target=$TARGET
- cargo build --target=$TARGET --example client --features opentelemetry_0_19
- cargo build --target=$TARGET --example server --features opentelemetry_0_19
- cargo build --target=$TARGET --example client --features opentelemetry_0_20
- cargo build --target=$TARGET --example server --features opentelemetry_0_20
trigger:
event:
@ -232,8 +233,8 @@ steps:
pull: always
commands:
- cargo build --target=$TARGET
- cargo build --target=$TARGET --example client --features opentelemetry_0_19
- cargo build --target=$TARGET --example server --features opentelemetry_0_19
- cargo build --target=$TARGET --example client --features opentelemetry_0_20
- cargo build --target=$TARGET --example server --features opentelemetry_0_20
trigger:
event:
@ -265,8 +266,8 @@ steps:
pull: always
commands:
- cargo build --target=$TARGET
- cargo build --target=$TARGET --example client --features opentelemetry_0_19
- cargo build --target=$TARGET --example server --features opentelemetry_0_19
- cargo build --target=$TARGET --example client --features opentelemetry_0_20
- cargo build --target=$TARGET --example server --features opentelemetry_0_20
trigger:
event:

View file

@ -1,7 +1,7 @@
[package]
name = "tracing-awc"
description = "Tracing instrumentation for the awc http client"
version = "0.1.7"
version = "0.1.8"
authors = ["asonix <asonix@asonix.dog"]
edition = "2018"
license = "AGPL-3.0"
@ -10,11 +10,11 @@ readme = "README.md"
[[example]]
name = "client"
required-features = ["opentelemetry_0_19"]
required-features = ["opentelemetry_0_20"]
[[example]]
name = "server"
required-features = ["opentelemetry_0_19"]
required-features = ["opentelemetry_0_20"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
@ -48,6 +48,10 @@ opentelemetry_0_19 = [
"opentelemetry_0_19_pkg",
"tracing-opentelemetry_0_19_pkg",
]
opentelemetry_0_20 = [
"opentelemetry_0_20_pkg",
"tracing-opentelemetry_0_20_pkg",
]
[dependencies]
actix-http = { version = "3.0.2", default-features = false }
@ -62,6 +66,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 }
pin-project-lite = "0.2.7"
tracing = "0.1"
tracing-opentelemetry_0_12_pkg = { package = "tracing-opentelemetry", version = "0.12", optional = true }
@ -71,15 +76,16 @@ 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-rt = "2.6"
actix-web = { version = "4.0.0", default-features = false }
opentelemetry-otlp = "0.12"
opentelemetry_0_19_pkg = { package = "opentelemetry", version = "0.19", features = [
opentelemetry_0_20_pkg = { package = "opentelemetry", version = "0.20", features = [
"rt-tokio",
] }
tracing-actix-web = { version = "0.7.5", features = ["opentelemetry_0_19"] }
tracing-actix-web = { version = "0.7.5", features = ["opentelemetry_0_20"], git = "https://github.com/asonix/tracing-actix-web", branch = "asonix/opentelemetry-20" }
tracing-subscriber = { version = "0.3", features = [
"ansi",
"env-filter",

View file

@ -24,6 +24,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;
@ -39,6 +41,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;
#[cfg(any(
feature = "opentelemetry_0_13",
@ -47,7 +51,8 @@ use tracing_opentelemetry_0_19_pkg as tracing_opentelemetry;
feature = "opentelemetry_0_16",
feature = "opentelemetry_0_17",
feature = "opentelemetry_0_18",
feature = "opentelemetry_0_19"
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20"
))]
pub fn root_span() -> Span {
let span = tracing::info_span!("Root span", trace_id = tracing::field::Empty,);
@ -57,14 +62,16 @@ pub fn root_span() -> 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();
@ -302,7 +309,8 @@ struct RequestHeaderCarrier<'a> {
feature = "opentelemetry_0_16",
feature = "opentelemetry_0_17",
feature = "opentelemetry_0_18",
feature = "opentelemetry_0_19"
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20"
))]
impl<'a> opentelemetry::propagation::Injector for RequestHeaderCarrier<'a> {
fn set(&mut self, key: &str, value: String) {
@ -337,7 +345,8 @@ fn record_otel(_headers: &mut HeaderMap, _span: &Span) {
feature = "opentelemetry_0_16",
feature = "opentelemetry_0_17",
feature = "opentelemetry_0_18",
feature = "opentelemetry_0_19"
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20"
))]
{
let span = _span;