Skip to content

Commit 74fdbae

Browse files
committed
Use OpenTelemetry at configuration level instead of MeterProvider
1 parent be0d766 commit 74fdbae

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

docs/apidiffs/current_vs_latest/opentelemetry-sdk-trace.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ Comparing source compatibility of opentelemetry-sdk-trace-1.52.0-SNAPSHOT.jar ag
22
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.sdk.trace.SdkTracerProviderBuilder (not serializable)
33
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
44
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.trace.SdkTracerProviderBuilder setInternalTelemetry(io.opentelemetry.sdk.common.InternalTelemetryVersion)
5-
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.trace.SdkTracerProviderBuilder setMeterProvider(java.util.function.Supplier<io.opentelemetry.api.metrics.MeterProvider>)
5+
+++ NEW METHOD: PUBLIC(+) io.opentelemetry.sdk.trace.SdkTracerProviderBuilder setInternalTelemetryOpenTelemetry(java.util.function.Supplier<io.opentelemetry.api.OpenTelemetry>)

sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkTracerProviderBuilder.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static java.util.Objects.requireNonNull;
99

1010
import io.opentelemetry.api.GlobalOpenTelemetry;
11+
import io.opentelemetry.api.OpenTelemetry;
1112
import io.opentelemetry.api.metrics.MeterProvider;
1213
import io.opentelemetry.api.trace.Span;
1314
import io.opentelemetry.sdk.common.Clock;
@@ -183,12 +184,13 @@ public SdkTracerProviderBuilder addSpanProcessorFirst(SpanProcessor spanProcesso
183184
}
184185

185186
/**
186-
* Sets the {@link MeterProvider} supplier used to collect self-monitoring metrics. If not set,
187-
* uses {@link GlobalOpenTelemetry#getMeterProvider()}.
187+
* Sets the {@link OpenTelemetry} supplier used to collect self-monitoring telemetry. If not set,
188+
* uses {@link GlobalOpenTelemetry#get()}.
188189
*/
189-
public SdkTracerProviderBuilder setMeterProvider(Supplier<MeterProvider> meterProviderSupplier) {
190-
requireNonNull(meterProviderSupplier, "meterProviderSupplier");
191-
this.meterProviderSupplier = meterProviderSupplier;
190+
public SdkTracerProviderBuilder setInternalTelemetryOpenTelemetry(
191+
Supplier<OpenTelemetry> openTelemetrySupplier) {
192+
requireNonNull(openTelemetrySupplier, "openTelemetrySupplier");
193+
this.meterProviderSupplier = () -> openTelemetrySupplier.get().getMeterProvider();
192194
return this;
193195
}
194196

sdk/trace/src/test/java/io/opentelemetry/sdk/trace/SdkSpanBuilderTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
import static org.assertj.core.api.Assertions.assertThatCode;
2020
import static org.mockito.Mockito.verifyNoInteractions;
2121

22+
import io.opentelemetry.api.OpenTelemetry;
2223
import io.opentelemetry.api.common.AttributeKey;
2324
import io.opentelemetry.api.common.Attributes;
24-
import io.opentelemetry.api.metrics.MeterProvider;
2525
import io.opentelemetry.api.trace.Span;
2626
import io.opentelemetry.api.trace.SpanBuilder;
2727
import io.opentelemetry.api.trace.SpanContext;
@@ -34,6 +34,7 @@
3434
import io.opentelemetry.api.trace.TracerProvider;
3535
import io.opentelemetry.context.Context;
3636
import io.opentelemetry.context.Scope;
37+
import io.opentelemetry.sdk.OpenTelemetrySdk;
3738
import io.opentelemetry.sdk.common.InternalTelemetryVersion;
3839
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
3940
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
@@ -987,10 +988,14 @@ public String getDescription() {
987988
InMemoryMetricReader inMemoryMetrics = InMemoryMetricReader.create();
988989
try (SdkMeterProvider meterProvider =
989990
SdkMeterProvider.builder().registerMetricReader(inMemoryMetrics).build()) {
991+
992+
OpenTelemetrySdk telemetrySdk =
993+
OpenTelemetrySdk.builder().setMeterProvider(meterProvider).build();
994+
990995
Tracer tracer =
991996
SdkTracerProvider.builder()
992997
.setSampler(sampler)
993-
.setMeterProvider(() -> meterProvider)
998+
.setInternalTelemetryOpenTelemetry(() -> telemetrySdk)
994999
.setInternalTelemetry(InternalTelemetryVersion.LATEST)
9951000
.build()
9961001
.get("testing");
@@ -1152,12 +1157,12 @@ public String getDescription() {
11521157
}
11531158
};
11541159

1155-
Supplier<MeterProvider> mockMeterProvider = Mockito.mock(Supplier.class);
1160+
Supplier<OpenTelemetry> mockTelemetryProvider = Mockito.mock(Supplier.class);
11561161

11571162
Tracer tracer =
11581163
SdkTracerProvider.builder()
11591164
.setSampler(sampler)
1160-
.setMeterProvider(mockMeterProvider)
1165+
.setInternalTelemetryOpenTelemetry(mockTelemetryProvider)
11611166
.setInternalTelemetry(InternalTelemetryVersion.LEGACY)
11621167
.build()
11631168
.get("testing");
@@ -1171,7 +1176,7 @@ public String getDescription() {
11711176
currentSamplingDecision.set(SamplingDecision.RECORD_AND_SAMPLE);
11721177
tracer.spanBuilder("record_and_sample").startSpan().end();
11731178

1174-
verifyNoInteractions(mockMeterProvider);
1179+
verifyNoInteractions(mockTelemetryProvider);
11751180
}
11761181

11771182
@Test

0 commit comments

Comments
 (0)