Skip to content

Commit 146147f

Browse files
committed
extract extended opentelemetry only
1 parent 2c87949 commit 146147f

File tree

3 files changed

+24
-133
lines changed

3 files changed

+24
-133
lines changed

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/ExtendedOpenTelemetrySdkBuilder.java

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,36 @@
66
package io.opentelemetry.sdk.extension.incubator;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
9-
import io.opentelemetry.api.incubator.entities.EntityProvider;
9+
import io.opentelemetry.api.incubator.config.ConfigProvider;
1010
import io.opentelemetry.context.propagation.ContextPropagators;
1111
import io.opentelemetry.sdk.OpenTelemetrySdk;
1212
import io.opentelemetry.sdk.OpenTelemetrySdkBuilder;
13-
import io.opentelemetry.sdk.extension.incubator.entities.SdkEntityProvider;
14-
import io.opentelemetry.sdk.extension.incubator.entities.SdkEntityProviderBuilder;
1513
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
1614
import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder;
17-
import io.opentelemetry.sdk.logs.internal.SdkLoggerProviderUtil;
1815
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
1916
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
20-
import io.opentelemetry.sdk.metrics.internal.SdkMeterProviderUtil;
2117
import io.opentelemetry.sdk.trace.SdkTracerProvider;
2218
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
23-
import io.opentelemetry.sdk.trace.internal.SdkTracerProviderUtil;
19+
import java.util.Objects;
2420
import java.util.function.Consumer;
2521

26-
/** A new interface for creating OpenTelemetrySdk that supports {@link EntityProvider}. */
22+
/** A new interface for creating OpenTelemetrySdk that supports {@link ConfigProvider}. */
2723
public final class ExtendedOpenTelemetrySdkBuilder {
28-
private ContextPropagators propagators = ContextPropagators.noop();
2924
private final SdkTracerProviderBuilder tracerProviderBuilder = SdkTracerProvider.builder();
3025
private final SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder();
3126
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();
3329

3430
/** Sets the {@link ContextPropagators} to use. */
3531
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");
3739
return this;
3840
}
3941

@@ -83,21 +85,11 @@ public ExtendedOpenTelemetrySdkBuilder withLoggerProvider(
8385
* @see GlobalOpenTelemetry
8486
*/
8587
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);
10193
}
10294

10395
/**

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/ObfuscatedExtendedOpenTelemerySdk.java renamed to sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/ObfuscatedExtendedOpenTelemetrySdk.java

Lines changed: 7 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
package io.opentelemetry.sdk.extension.incubator;
77

88
import io.opentelemetry.api.incubator.config.ConfigProvider;
9-
import io.opentelemetry.api.incubator.entities.EntityBuilder;
10-
import io.opentelemetry.api.incubator.entities.EntityProvider;
119
import io.opentelemetry.api.logs.LoggerBuilder;
1210
import io.opentelemetry.api.logs.LoggerProvider;
1311
import io.opentelemetry.api.metrics.MeterBuilder;
@@ -17,7 +15,6 @@
1715
import io.opentelemetry.api.trace.TracerProvider;
1816
import io.opentelemetry.context.propagation.ContextPropagators;
1917
import io.opentelemetry.sdk.common.CompletableResultCode;
20-
import io.opentelemetry.sdk.extension.incubator.entities.SdkEntityProvider;
2118
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
2219
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
2320
import io.opentelemetry.sdk.trace.SdkTracerProvider;
@@ -29,24 +26,24 @@
2926
import javax.annotation.concurrent.ThreadSafe;
3027

3128
/** The SDK implementation of {@link ExtendedOpenTelemetrySdk}. */
32-
final class ObfuscatedExtendedOpenTelemerySdk implements ExtendedOpenTelemetrySdk {
29+
final class ObfuscatedExtendedOpenTelemetrySdk implements ExtendedOpenTelemetrySdk {
3330

3431
private static final Logger LOGGER =
35-
Logger.getLogger(ObfuscatedExtendedOpenTelemerySdk.class.getName());
32+
Logger.getLogger(ObfuscatedExtendedOpenTelemetrySdk.class.getName());
3633
private final AtomicBoolean isShutdown = new AtomicBoolean(false);
3734
private final ObfuscatedTracerProvider tracerProvider;
3835
private final ObfuscatedMeterProvider meterProvider;
3936
private final ObfuscatedLoggerProvider loggerProvider;
40-
private final ObfuscatedEntityProvider configProvider;
37+
private final ConfigProvider configProvider;
4138
private final ContextPropagators propagators;
4239

43-
ObfuscatedExtendedOpenTelemerySdk(
40+
ObfuscatedExtendedOpenTelemetrySdk(
4441
ConfigProvider configProvider,
4542
SdkTracerProvider tracerProvider,
4643
SdkMeterProvider meterProvider,
4744
SdkLoggerProvider loggerProvider,
4845
ContextPropagators propagators) {
49-
this.configProvider = new ObfuscatedEntityProvider(configProvider);
46+
this.configProvider = configProvider;
5047
this.tracerProvider = new ObfuscatedTracerProvider(tracerProvider);
5148
this.meterProvider = new ObfuscatedMeterProvider(meterProvider);
5249
this.loggerProvider = new ObfuscatedLoggerProvider(loggerProvider);
@@ -99,8 +96,8 @@ public ContextPropagators getPropagators() {
9996
@Override
10097
public String toString() {
10198
return "ExtendedOpenTelemetrySdk{"
102-
+ "entityProvider="
103-
+ configProvider.unobfuscate()
99+
+ "configProvider="
100+
+ configProvider
104101
+ ", tracerProvider="
105102
+ tracerProvider.unobfuscate()
106103
+ ", meterProvider="
@@ -202,36 +199,4 @@ public SdkLoggerProvider unobfuscate() {
202199
return delegate;
203200
}
204201
}
205-
206-
/**
207-
* This class allows the SDK to unobfuscate an obfuscated static global provider.
208-
*
209-
* <p>Static global providers are obfuscated when they are returned from the API to prevent users
210-
* from casting them to their SDK specific implementation. For example, we do not want users to
211-
* use patterns like {@code (SdkResourceProvider) openTelemetry.getResourceProvider()}.
212-
*/
213-
@ThreadSafe
214-
// Visible for testing
215-
static class ObfuscatedEntityProvider implements EntityProvider {
216-
217-
private final SdkEntityProvider delegate;
218-
219-
ObfuscatedEntityProvider(SdkEntityProvider delegate) {
220-
this.delegate = delegate;
221-
}
222-
223-
public SdkEntityProvider unobfuscate() {
224-
return delegate;
225-
}
226-
227-
@Override
228-
public boolean removeEntity(String entityType) {
229-
return delegate.removeEntity(entityType);
230-
}
231-
232-
@Override
233-
public EntityBuilder attachOrUpdateEntity(String entityType) {
234-
return delegate.attachOrUpdateEntity(entityType);
235-
}
236-
}
237202
}

sdk-extensions/incubator/src/test/java/io/opentelemetry/sdk/extension/incubator/TestExtendedOpenTelemetrySdk.java

Lines changed: 0 additions & 66 deletions
This file was deleted.

0 commit comments

Comments
 (0)