|
6 | 6 | package io.opentelemetry.sdk.extension.incubator; |
7 | 7 |
|
8 | 8 | import io.opentelemetry.api.GlobalOpenTelemetry; |
9 | | -import io.opentelemetry.api.incubator.entities.EntityProvider; |
| 9 | +import io.opentelemetry.api.incubator.config.ConfigProvider; |
10 | 10 | import io.opentelemetry.context.propagation.ContextPropagators; |
11 | 11 | import io.opentelemetry.sdk.OpenTelemetrySdk; |
12 | 12 | import io.opentelemetry.sdk.OpenTelemetrySdkBuilder; |
13 | | -import io.opentelemetry.sdk.extension.incubator.entities.SdkEntityProvider; |
14 | | -import io.opentelemetry.sdk.extension.incubator.entities.SdkEntityProviderBuilder; |
15 | 13 | import io.opentelemetry.sdk.logs.SdkLoggerProvider; |
16 | 14 | import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; |
17 | | -import io.opentelemetry.sdk.logs.internal.SdkLoggerProviderUtil; |
18 | 15 | import io.opentelemetry.sdk.metrics.SdkMeterProvider; |
19 | 16 | import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder; |
20 | | -import io.opentelemetry.sdk.metrics.internal.SdkMeterProviderUtil; |
21 | 17 | import io.opentelemetry.sdk.trace.SdkTracerProvider; |
22 | 18 | import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; |
23 | | -import io.opentelemetry.sdk.trace.internal.SdkTracerProviderUtil; |
| 19 | +import java.util.Objects; |
24 | 20 | import java.util.function.Consumer; |
25 | 21 |
|
26 | | -/** A new interface for creating OpenTelemetrySdk that supports {@link EntityProvider}. */ |
| 22 | +/** A new interface for creating OpenTelemetrySdk that supports {@link ConfigProvider}. */ |
27 | 23 | public final class ExtendedOpenTelemetrySdkBuilder { |
28 | | - private ContextPropagators propagators = ContextPropagators.noop(); |
29 | 24 | private final SdkTracerProviderBuilder tracerProviderBuilder = SdkTracerProvider.builder(); |
30 | 25 | private final SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder(); |
31 | 26 | private final SdkLoggerProviderBuilder loggerProviderBuilder = SdkLoggerProvider.builder(); |
32 | | - private final SdkEntityProviderBuilder resourceProviderBuilder = SdkEntityProvider.builder(); |
| 27 | + private ContextPropagators propagators = ContextPropagators.noop(); |
| 28 | + private ConfigProvider configProvider = ConfigProvider.noop(); |
33 | 29 |
|
34 | 30 | /** Sets the {@link ContextPropagators} to use. */ |
35 | 31 | public ExtendedOpenTelemetrySdkBuilder setPropagators(ContextPropagators propagators) { |
36 | | - this.propagators = propagators; |
| 32 | + this.propagators = Objects.requireNonNull(propagators, "propagators must not be null"); |
| 33 | + return this; |
| 34 | + } |
| 35 | + |
| 36 | + /** Sets the {@link ConfigProvider} to use. */ |
| 37 | + public ExtendedOpenTelemetrySdkBuilder setConfigProvider(ConfigProvider configProvider) { |
| 38 | + this.configProvider = Objects.requireNonNull(configProvider, "configProvider must not be null"); |
37 | 39 | return this; |
38 | 40 | } |
39 | 41 |
|
@@ -83,21 +85,11 @@ public ExtendedOpenTelemetrySdkBuilder withLoggerProvider( |
83 | 85 | * @see GlobalOpenTelemetry |
84 | 86 | */ |
85 | 87 | public ExtendedOpenTelemetrySdk build() { |
86 | | - SdkEntityProvider resourceProvider = resourceProviderBuilder.build(); |
87 | | - SdkTracerProvider tracerProvider = |
88 | | - SdkTracerProviderUtil.setResourceSupplier( |
89 | | - tracerProviderBuilder, resourceProvider::getResource) |
90 | | - .build(); |
91 | | - SdkMeterProvider meterProvider = |
92 | | - SdkMeterProviderUtil.setResourceSupplier( |
93 | | - meterProviderBuilder, resourceProvider::getResource) |
94 | | - .build(); |
95 | | - SdkLoggerProvider loggerProvider = |
96 | | - SdkLoggerProviderUtil.setResourceSupplier( |
97 | | - loggerProviderBuilder, resourceProvider::getResource) |
98 | | - .build(); |
99 | | - return new ObfuscatedExtendedOpenTelemerySdk( |
100 | | - resourceProvider, tracerProvider, meterProvider, loggerProvider, propagators); |
| 88 | + SdkTracerProvider tracerProvider = tracerProviderBuilder.build(); |
| 89 | + SdkMeterProvider meterProvider = meterProviderBuilder.build(); |
| 90 | + SdkLoggerProvider loggerProvider = loggerProviderBuilder.build(); |
| 91 | + return new ObfuscatedExtendedOpenTelemetrySdk( |
| 92 | + configProvider, tracerProvider, meterProvider, loggerProvider, propagators); |
101 | 93 | } |
102 | 94 |
|
103 | 95 | /** |
|
0 commit comments