Skip to content

Commit 0341d48

Browse files
committed
chore: address review comments
1 parent 79fc8cc commit 0341d48

5 files changed

Lines changed: 42 additions & 3 deletions

File tree

opentelemetry-otlp/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## vNext
44

5+
- Add `build()` directly on `SpanExporterBuilder`, `MetricExporterBuilder`, and `LogExporterBuilder`
6+
(before selecting a transport), which auto-selects the transport based on the
7+
`OTEL_EXPORTER_OTLP_PROTOCOL` environment variable or enabled features.
8+
[#3394](https://github.com/open-telemetry/opentelemetry-rust/pull/3394)
59
- **Breaking** Removed `ExportConfig`, `HasExportConfig`, `with_export_config()`, `HasTonicConfig`, `HasHttpConfig`, `TonicConfig`, and `HttpConfig` from public API.
610
Use the public `WithExportConfig`, `WithTonicConfig`, and `WithHttpConfig` trait methods instead, which remain unchanged.
711
- The gRPC/tonic OTLP exporter's build method now returns an error for all signals (traces, metrics, logs) when

opentelemetry-otlp/examples/basic-otlp/src/main.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ fn get_resource() -> Resource {
2626

2727
fn init_traces() -> SdkTracerProvider {
2828
let exporter = SpanExporter::builder()
29-
.with_tonic()
3029
.build()
3130
.expect("Failed to create span exporter");
3231
SdkTracerProvider::builder()
@@ -37,7 +36,6 @@ fn init_traces() -> SdkTracerProvider {
3736

3837
fn init_metrics() -> SdkMeterProvider {
3938
let exporter = MetricExporter::builder()
40-
.with_tonic()
4139
.build()
4240
.expect("Failed to create metric exporter");
4341

@@ -49,7 +47,6 @@ fn init_metrics() -> SdkMeterProvider {
4947

5048
fn init_logs() -> SdkLoggerProvider {
5149
let exporter = LogExporter::builder()
52-
.with_tonic()
5350
.build()
5451
.expect("Failed to create log exporter");
5552

opentelemetry-otlp/src/logs.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,3 +194,15 @@ impl opentelemetry_sdk::logs::LogExporter for LogExporter {
194194
}
195195
}
196196
}
197+
198+
#[cfg(test)]
199+
#[cfg(any(feature = "grpc-tonic", feature = "http-proto", feature = "http-json"))]
200+
mod tests {
201+
use crate::LogExporter;
202+
203+
#[test]
204+
fn build_with_default_transport() {
205+
let result = LogExporter::builder().build();
206+
assert!(result.is_ok(), "build() should succeed: {:?}", result.err());
207+
}
208+
}

opentelemetry-otlp/src/metric.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,20 @@ impl MetricExporter {
272272
}
273273
}
274274

275+
#[cfg(test)]
276+
#[cfg(any(feature = "grpc-tonic", feature = "http-proto", feature = "http-json"))]
277+
mod build_tests {
278+
use crate::MetricExporter;
279+
280+
#[test]
281+
fn build_with_default_transport() {
282+
// Verify that `MetricExporter::builder().build()` succeeds
283+
// when at least one transport feature is enabled.
284+
let result = MetricExporter::builder().build();
285+
assert!(result.is_ok(), "build() should succeed: {:?}", result.err());
286+
}
287+
}
288+
275289
#[cfg(test)]
276290
mod tests {
277291
use super::*;

opentelemetry-otlp/src/span.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,3 +188,15 @@ impl opentelemetry_sdk::trace::SpanExporter for SpanExporter {
188188
}
189189
}
190190
}
191+
192+
#[cfg(test)]
193+
#[cfg(any(feature = "grpc-tonic", feature = "http-proto", feature = "http-json"))]
194+
mod tests {
195+
use crate::SpanExporter;
196+
197+
#[test]
198+
fn build_with_default_transport() {
199+
let result = SpanExporter::builder().build();
200+
assert!(result.is_ok(), "build() should succeed: {:?}", result.err());
201+
}
202+
}

0 commit comments

Comments
 (0)