This commit is contained in:
parent
9c3d864239
commit
e9c3b62578
29
.drone.yml
29
.drone.yml
|
@ -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:
|
||||
|
|
16
Cargo.toml
16
Cargo.toml
|
@ -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",
|
||||
|
|
19
src/lib.rs
19
src/lib.rs
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue