Skip to content

Commit 6ec7d53

Browse files
committed
chore: address review comments
1 parent 79fc8cc commit 6ec7d53

File tree

5 files changed

+46
-3
lines changed

5 files changed

+46
-3
lines changed

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: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,20 @@ impl LogExporter {
166166
}
167167
}
168168

169+
#[cfg(test)]
170+
#[cfg(any(feature = "grpc-tonic", feature = "http-proto", feature = "http-json"))]
171+
mod tests {
172+
use crate::LogExporter;
173+
174+
#[test]
175+
fn build_with_default_transport() {
176+
// Verify that `LogExporter::builder().build()` succeeds
177+
// when at least one transport feature is enabled.
178+
let result = LogExporter::builder().build();
179+
assert!(result.is_ok(), "build() should succeed: {:?}", result.err());
180+
}
181+
}
182+
169183
impl opentelemetry_sdk::logs::LogExporter for LogExporter {
170184
async fn export(&self, batch: LogBatch<'_>) -> OTelSdkResult {
171185
match &self.client {

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: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,20 @@ impl SpanExporter {
169169
}
170170
}
171171

172+
#[cfg(test)]
173+
#[cfg(any(feature = "grpc-tonic", feature = "http-proto", feature = "http-json"))]
174+
mod tests {
175+
use crate::SpanExporter;
176+
177+
#[test]
178+
fn build_with_default_transport() {
179+
// Verify that `SpanExporter::builder().build()` succeeds
180+
// when at least one transport feature is enabled.
181+
let result = SpanExporter::builder().build();
182+
assert!(result.is_ok(), "build() should succeed: {:?}", result.err());
183+
}
184+
}
185+
172186
impl opentelemetry_sdk::trace::SpanExporter for SpanExporter {
173187
async fn export(&self, batch: Vec<SpanData>) -> OTelSdkResult {
174188
match &self.client {

0 commit comments

Comments
 (0)