Skip to content

Commit 371a39b

Browse files
renovate[bot]davidB
authored andcommitted
chore(deps): update opentelemetry
1 parent fff5a65 commit 371a39b

File tree

7 files changed

+49
-52
lines changed

7 files changed

+49
-52
lines changed

Cargo.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,27 @@ axum = { version = "0.8", default-features = false }
2727
http = "^1"
2828
hyper = "1"
2929
insta = { version = "1.40", features = ["yaml", "redactions"] }
30-
opentelemetry = { version = "0.27", features = [
30+
opentelemetry = { version = "0.28", features = [
3131
"trace",
3232
], default-features = false }
33-
opentelemetry_sdk = { version = "0.27", default-features = false, features = [
33+
opentelemetry_sdk = { version = "0.28", default-features = false, features = [
3434
"rt-tokio",
3535
] }
36-
opentelemetry-aws = { version = "0.15", default-features = false }
37-
opentelemetry-jaeger-propagator = { version = "0.27", default-features = false }
38-
opentelemetry-resource-detectors = { version = "0.6", default-features = false }
39-
opentelemetry-semantic-conventions = { version = "0.27", default-features = false }
40-
opentelemetry-zipkin = { version = "0.27", default-features = false }
41-
opentelemetry-otlp = { version = "0.27", default-features = false }
42-
opentelemetry-proto = { version = "0.27", default-features = false }
43-
opentelemetry-stdout = { version = "0.27" }
36+
opentelemetry-aws = { version = "0.16", default-features = false }
37+
opentelemetry-jaeger-propagator = { version = "0.28", default-features = false }
38+
opentelemetry-resource-detectors = { version = "0.7", default-features = false }
39+
opentelemetry-semantic-conventions = { version = "0.28", default-features = false }
40+
opentelemetry-zipkin = { version = "0.28", default-features = false }
41+
opentelemetry-otlp = { version = "0.28", default-features = false }
42+
opentelemetry-proto = { version = "0.28", default-features = false }
43+
opentelemetry-stdout = { version = "0.28" }
4444
rstest = "0.24"
4545
tokio = { version = "1", default-features = false }
4646
tokio-stream = { version = "0.1", default-features = false }
4747
tonic = { version = "0.12", default-features = false } #should be sync with opentelemetry-proto
4848
tower = { version = "0.5", default-features = false }
4949
tracing = "0.1"
50-
tracing-opentelemetry = "0.28"
50+
tracing-opentelemetry = "0.29"
5151

5252
[profile.dev.package.insta]
5353
opt-level = 3

fake-opentelemetry-collector/src/lib.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,26 +96,25 @@ async fn recv_many<T>(rx: &mut Receiver<T>, at_least: usize, timeout: Duration)
9696

9797
pub async fn setup_tracer_provider(
9898
fake_server: &FakeCollectorServer,
99-
) -> opentelemetry_sdk::trace::TracerProvider {
99+
) -> opentelemetry_sdk::trace::SdkTracerProvider {
100100
// if the environment variable is set (in test or in caller), `with_endpoint` value is ignored
101101
std::env::remove_var("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT");
102102

103-
opentelemetry_sdk::trace::TracerProvider::builder()
103+
opentelemetry_sdk::trace::SdkTracerProvider::builder()
104104
.with_batch_exporter(
105105
SpanExporter::builder()
106106
.with_tonic()
107107
.with_endpoint(fake_server.endpoint())
108108
.build()
109109
.expect("failed to install tracer"),
110-
opentelemetry_sdk::runtime::Tokio,
111110
)
112111
.build()
113112
}
114113

115114
pub async fn setup_logger_provider(
116115
fake_server: &FakeCollectorServer,
117-
) -> opentelemetry_sdk::logs::LoggerProvider {
118-
opentelemetry_sdk::logs::LoggerProvider::builder()
116+
) -> opentelemetry_sdk::logs::SdkLoggerProvider {
117+
opentelemetry_sdk::logs::SdkLoggerProvider::builder()
119118
//Install simple so we don't have to wait for batching in tests
120119
.with_simple_exporter(
121120
LogExporter::builder()

init-tracing-opentelemetry/src/otlp.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
use opentelemetry::trace::TraceError;
22
use opentelemetry_otlp::SpanExporter;
3-
use opentelemetry_sdk::{trace::TracerProvider, Resource};
3+
use opentelemetry_sdk::{trace::SdkTracerProvider, trace::TracerProviderBuilder, Resource};
44
#[cfg(feature = "tls")]
55
use {opentelemetry_otlp::WithTonicConfig, tonic::transport::ClientTlsConfig};
66

77
#[must_use]
8-
pub fn identity(v: opentelemetry_sdk::trace::Builder) -> opentelemetry_sdk::trace::Builder {
8+
pub fn identity(v: TracerProviderBuilder) -> TracerProviderBuilder {
99
v
1010
}
1111

1212
// see https://opentelemetry.io/docs/reference/specification/protocol/exporter/
1313
pub fn init_tracerprovider<F>(
1414
resource: Resource,
1515
transform: F,
16-
) -> Result<TracerProvider, TraceError>
16+
) -> Result<SdkTracerProvider, TraceError>
1717
where
18-
F: FnOnce(opentelemetry_sdk::trace::Builder) -> opentelemetry_sdk::trace::Builder,
18+
F: FnOnce(TracerProviderBuilder) -> TracerProviderBuilder,
1919
{
2020
debug_env();
2121
let (maybe_protocol, maybe_endpoint) = read_protocol_and_endpoint_from_env();
@@ -40,11 +40,9 @@ where
4040
None
4141
}
4242
};
43-
let mut trace_provider: opentelemetry_sdk::trace::Builder =
44-
TracerProvider::builder().with_resource(resource);
43+
let mut trace_provider = SdkTracerProvider::builder().with_resource(resource);
4544
if let Some(exporter) = exporter {
46-
trace_provider =
47-
trace_provider.with_batch_exporter(exporter, opentelemetry_sdk::runtime::Tokio);
45+
trace_provider = trace_provider.with_batch_exporter(exporter);
4846
}
4947

5048
trace_provider = transform(trace_provider);

init-tracing-opentelemetry/src/resource.rs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use opentelemetry::KeyValue;
22
// use opentelemetry_resource_detectors::OsResourceDetector;
33
use opentelemetry_sdk::{resource::ResourceDetector, Resource};
44
use opentelemetry_semantic_conventions::resource;
5-
use std::time::Duration;
65

76
/// To log detected value set environement variable `RUST_LOG="...,otel::setup::resource=debug"`
87
/// ```rust
@@ -42,19 +41,14 @@ impl DetectResource {
4241

4342
#[must_use]
4443
pub fn build(mut self) -> Resource {
45-
let base = Resource::default();
46-
let fallback = Resource::from_detectors(
47-
Duration::from_secs(0),
48-
vec![
49-
Box::new(ServiceInfoDetector {
50-
fallback_service_name: self.fallback_service_name.take(),
51-
fallback_service_version: self.fallback_service_version.take(),
52-
}),
53-
//Box::new(OsResourceDetector), //FIXME enable when available for opentelemetry >= 0.25
54-
//Box::new(ProcessResourceDetector),
55-
],
56-
);
57-
let rsrc = base.merge(&fallback); // base has lower priority
44+
//Box::new(OsResourceDetector), //FIXME enable when available for opentelemetry >= 0.25
45+
//Box::new(ProcessResourceDetector),
46+
let rsrc = Resource::builder()
47+
.with_detector(Box::new(ServiceInfoDetector {
48+
fallback_service_name: self.fallback_service_name.take(),
49+
fallback_service_version: self.fallback_service_version.take(),
50+
}))
51+
.build();
5852
debug_resource(&rsrc);
5953
rsrc
6054
}
@@ -73,7 +67,7 @@ pub struct ServiceInfoDetector {
7367
}
7468

7569
impl ResourceDetector for ServiceInfoDetector {
76-
fn detect(&self, _timeout: Duration) -> Resource {
70+
fn detect(&self) -> Resource {
7771
let service_name = std::env::var("OTEL_SERVICE_NAME")
7872
.or_else(|_| std::env::var("SERVICE_NAME"))
7973
.or_else(|_| std::env::var("APP_NAME"))
@@ -91,6 +85,13 @@ impl ResourceDetector for ServiceInfoDetector {
9185
.map(std::string::ToString::to_string)
9286
})
9387
.map(|v| KeyValue::new(resource::SERVICE_VERSION, v));
94-
Resource::new(vec![service_name, service_version].into_iter().flatten())
88+
let mut resource = Resource::builder_empty();
89+
if let Some(service_name) = service_name {
90+
resource = resource.with_attribute(service_name);
91+
}
92+
if let Some(service_version) = service_version {
93+
resource = resource.with_attribute(service_version);
94+
}
95+
resource.build()
9596
}
9697
}

init-tracing-opentelemetry/src/stdio.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,25 @@ use opentelemetry::trace::{TraceError, TracerProvider as _};
22
use opentelemetry::InstrumentationScope;
33
use opentelemetry_sdk::trace as sdktrace;
44
use opentelemetry_sdk::trace::BatchSpanProcessor;
5-
use opentelemetry_sdk::trace::TracerProvider;
5+
use opentelemetry_sdk::trace::SdkTracerProvider;
6+
use opentelemetry_sdk::trace::TracerProviderBuilder;
67
use opentelemetry_sdk::Resource;
78
use std::fmt::Debug;
89
use std::io::Write;
910

1011
#[must_use]
11-
pub fn identity<W: Write>(
12-
v: opentelemetry_sdk::trace::Builder,
13-
) -> opentelemetry_sdk::trace::Builder {
12+
pub fn identity<W: Write>(v: TracerProviderBuilder) -> TracerProviderBuilder {
1413
v
1514
}
1615

1716
pub fn init_tracer<F, W>(resource: Resource, transform: F) -> Result<sdktrace::Tracer, TraceError>
1817
where
19-
F: FnOnce(opentelemetry_sdk::trace::Builder) -> opentelemetry_sdk::trace::Builder,
18+
F: FnOnce(TracerProviderBuilder) -> TracerProviderBuilder,
2019
W: Write + Debug + Send + Sync + 'static,
2120
{
2221
let exporter = opentelemetry_stdout::SpanExporter::default();
23-
let processor =
24-
BatchSpanProcessor::builder(exporter, opentelemetry_sdk::runtime::Tokio).build();
25-
let mut provider_builder: opentelemetry_sdk::trace::Builder = TracerProvider::builder()
22+
let processor = BatchSpanProcessor::builder(exporter).build();
23+
let mut provider_builder = SdkTracerProvider::builder()
2624
.with_span_processor(processor)
2725
.with_resource(resource)
2826
.with_sampler(sdktrace::Sampler::AlwaysOn);

init-tracing-opentelemetry/src/tracing_subscriber_ext.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use opentelemetry::trace::{TraceError, TracerProvider};
2-
use opentelemetry_sdk::trace::{self, Tracer};
2+
use opentelemetry_sdk::trace::{SdkTracerProvider, Tracer};
33
use tracing::{info, Subscriber};
44
use tracing_opentelemetry::OpenTelemetryLayer;
55
use tracing_subscriber::{filter::EnvFilter, layer::SubscriberExt, registry::LookupSpan, Layer};
@@ -94,12 +94,13 @@ where
9494

9595
#[must_use = "Recommend holding with 'let _guard = ' pattern to ensure final traces are sent to the server"]
9696
pub struct TracingGuard {
97-
tracerprovider: trace::TracerProvider,
97+
tracerprovider: SdkTracerProvider,
9898
}
9999

100100
impl Drop for TracingGuard {
101101
fn drop(&mut self) {
102-
self.tracerprovider.force_flush();
102+
#[allow(unused_must_use)]
103+
let _ = self.tracerprovider.force_flush();
103104
}
104105
}
105106

testing-tracing-opentelemetry/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ pub struct FakeEnvironment {
8888
fake_collector: fake_opentelemetry_collector::FakeCollectorServer,
8989
rx: Receiver<Vec<u8>>,
9090
_subsciber_guard: tracing::subscriber::DefaultGuard,
91-
tracer_provider: opentelemetry_sdk::trace::TracerProvider,
91+
tracer_provider: opentelemetry_sdk::trace::SdkTracerProvider,
9292
}
9393

9494
impl FakeEnvironment {

0 commit comments

Comments
 (0)