Skip to content

Commit

Permalink
⬆️ upgrade to opentelemtry 0.22 (and related crate)
Browse files Browse the repository at this point in the history
Signed-off-by: David Bernard <[email protected]>
  • Loading branch information
davidB committed Mar 9, 2024
1 parent 4175a4a commit 79551f3
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 25 deletions.
17 changes: 12 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,23 @@ rust-version = "1.73.0"

[workspace.dependencies]
http = "^1"
opentelemetry = { version = "0.21", features = [
opentelemetry = { version = "0.22", features = [
"trace",
], default-features = false }
opentelemetry-otlp = { version = "0.14", default-features = false }
opentelemetry-proto = { version = "0.4", default-features = false }
opentelemetry_sdk = { version = "0.21", default-features = false, features = [
opentelemetry_sdk = { version = "0.22", default-features = false, features = [
"rt-tokio",
] }
opentelemetry-aws = { version = "0.10", default-features = false }
opentelemetry-jaeger = { version = "0.21", default-features = false }
opentelemetry-jaeger-propagator = { version = "0.1", default-features = false }
opentelemetry-semantic-conventions = { version = "0.14", default-features = false }
opentelemetry-zipkin = { version = "0.20", default-features = false }
opentelemetry-otlp = { version = "0.15", default-features = false }
opentelemetry-proto = { version = "0.5", default-features = false }
opentelemetry-stdout = { version = "0.3" }
tonic = { version = "0.11", default-features = false } #should be sync with opentelemetry-proto
tracing = "0.1"
tracing-opentelemetry = "0.22"
tracing-opentelemetry = "0.23"

[profile.dev.package.insta]
opt-level = 3
Expand Down
3 changes: 1 addition & 2 deletions fake-opentelemetry-collector/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,9 @@ opentelemetry_sdk = { workspace = true, features = [
serde = { version = "1.0.136", features = ["derive"] }
tokio = { version = "1.27", features = ["full"] }
tokio-stream = { version = "0.1", features = ["net"] }
tonic = "0.9" #should be sync with opentelemetry-proto
tonic = { workspace = true }
tracing = { workspace = true }

[dev-dependencies]
assert2 = "0.3"
hyper = "0.14"
insta = { version = "1.29.0", features = ["yaml", "redactions"] }
21 changes: 13 additions & 8 deletions init-tracing-opentelemetry/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,20 @@ license.workspace = true

[dependencies]
opentelemetry = { workspace = true }
opentelemetry-aws = { version = "0.9", optional = true }
opentelemetry-jaeger = { version = "0.20", features = [
opentelemetry-aws = { workspace = true, optional = true }
opentelemetry-jaeger = { workspace = true, features = [
"rt-tokio",
], optional = true }
opentelemetry-otlp = { version = "0.14", optional = true }
opentelemetry-stdout = { version = "0.2", features = [
opentelemetry-jaeger-propagator = { workspace = true, optional = true }
opentelemetry-otlp = { workspace = true, optional = true }
opentelemetry-stdout = { workspace = true, features = [
"trace",
], optional = true }
opentelemetry-semantic-conventions = { version = "0.13", optional = true }
opentelemetry-zipkin = { version = "0.19", features = [], optional = true }
opentelemetry-semantic-conventions = { workspace = true, optional = true }
opentelemetry-zipkin = { workspace = true, features = [], optional = true }
opentelemetry_sdk = { workspace = true }
thiserror = "1.0"
tonic = { version = "0.9", optional = true, features = ["tls"] }
tonic = { workspace = true, optional = true, features = ["tls"] }
tracing = { workspace = true }
tracing-logfmt-otel = { version = "0.2", optional = true }
tracing-opentelemetry = { workspace = true }
Expand Down Expand Up @@ -56,7 +57,11 @@ tracing-subscriber = { version = "0.3", default-features = false, features = [
] }

[features]
jaeger = ["dep:opentelemetry-jaeger", "tracer"]
jaeger = [
"dep:opentelemetry-jaeger",
"dep:opentelemetry-jaeger-propagator",
"tracer",
]
otlp = ["opentelemetry-otlp/http-proto", "tracer"]
stdout = ["dep:opentelemetry-stdout", "tracer"]
tracer = ["dep:opentelemetry-semantic-conventions"]
Expand Down
2 changes: 1 addition & 1 deletion init-tracing-opentelemetry/src/jaeger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ where
F: FnOnce(AgentPipeline) -> AgentPipeline,
{
let mut pipeline = opentelemetry_jaeger::new_agent_pipeline();
if let Some(name) = resource.get(semcov::resource::SERVICE_NAME) {
if let Some(name) = resource.get(semcov::resource::SERVICE_NAME.into()) {
pipeline = pipeline.with_service_name(name.to_string());
}
pipeline = pipeline.with_trace_config(
Expand Down
8 changes: 3 additions & 5 deletions init-tracing-opentelemetry/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@
mod error;
pub use error::Error;

use opentelemetry::propagation::TextMapPropagator;
use opentelemetry::propagation::{TextMapCompositePropagator, TextMapPropagator};
use opentelemetry::trace::TraceError;
use opentelemetry_sdk::propagation::{
BaggagePropagator, TextMapCompositePropagator, TraceContextPropagator,
};
use opentelemetry_sdk::propagation::{BaggagePropagator, TraceContextPropagator};

#[cfg(feature = "jaeger")]
pub mod jaeger;
Expand Down Expand Up @@ -96,7 +94,7 @@ fn propagator_from_string(
)),
#[cfg(feature = "jaeger")]
"jaeger" => Ok(Some(Box::new(
opentelemetry_jaeger::Propagator::default()
opentelemetry_jaeger_propagator::Propagator::default()
))),
#[cfg(not(feature = "jaeger"))]
"jaeger" => Err(TraceError::from(
Expand Down
7 changes: 4 additions & 3 deletions init-tracing-opentelemetry/src/resource.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
use opentelemetry::KeyValue;
use opentelemetry_sdk::{
resource::{OsResourceDetector, ResourceDetector},
Resource,
};
use opentelemetry_semantic_conventions as semcov;
use opentelemetry_semantic_conventions::resource;
use std::time::Duration;

/// To log detected value set environement variable `RUST_LOG="...,otel::setup::resource=debug"`
Expand Down Expand Up @@ -83,15 +84,15 @@ impl ResourceDetector for ServiceInfoDetector {
self.fallback_service_name
.map(std::string::ToString::to_string)
})
.map(|v| semcov::resource::SERVICE_NAME.string(v));
.map(|v| KeyValue::new(resource::SERVICE_NAME, v));
let service_version = std::env::var("SERVICE_VERSION")
.or_else(|_| std::env::var("APP_VERSION"))
.ok()
.or_else(|| {
self.fallback_service_version
.map(std::string::ToString::to_string)
})
.map(|v| semcov::resource::SERVICE_VERSION.string(v));
.map(|v| KeyValue::new(resource::SERVICE_VERSION, v));
Resource::new(vec![service_name, service_version].into_iter().flatten())
}
}
1 change: 0 additions & 1 deletion tracing-opentelemetry-instrumentation-sdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ license.workspace = true

[dependencies]
http = { workspace = true, optional = true }
# opentelemetry-semantic-conventions = { version = "0.11" }
opentelemetry = { workspace = true }
tracing = { workspace = true }
tracing-opentelemetry = { workspace = true }
Expand Down

0 comments on commit 79551f3

Please sign in to comment.