Skip to content

Commit d22413e

Browse files
authored
Delete GlobalConfigProvider (#7914)
1 parent 382e255 commit d22413e

File tree

8 files changed

+17
-209
lines changed

8 files changed

+17
-209
lines changed

api/incubator/src/main/java/io/opentelemetry/api/incubator/config/GlobalConfigProvider.java

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

api/incubator/src/test/java/io/opentelemetry/api/incubator/config/GlobalConfigProviderTest.java

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

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdk.java

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.google.auto.value.AutoValue;
99
import io.opentelemetry.api.GlobalOpenTelemetry;
1010
import io.opentelemetry.api.OpenTelemetry;
11-
import io.opentelemetry.api.incubator.config.ConfigProvider;
11+
import io.opentelemetry.api.incubator.ExtendedOpenTelemetry;
1212
import io.opentelemetry.sdk.OpenTelemetrySdk;
1313
import io.opentelemetry.sdk.autoconfigure.internal.AutoConfigureUtil;
1414
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
@@ -46,11 +46,8 @@ public static AutoConfiguredOpenTelemetrySdkBuilder builder() {
4646
}
4747

4848
static AutoConfiguredOpenTelemetrySdk create(
49-
OpenTelemetrySdk sdk,
50-
Resource resource,
51-
@Nullable ConfigProperties config,
52-
@Nullable Object configProvider) {
53-
return new AutoValue_AutoConfiguredOpenTelemetrySdk(sdk, resource, config, configProvider);
49+
OpenTelemetrySdk sdk, Resource resource, @Nullable ConfigProperties config) {
50+
return new AutoValue_AutoConfiguredOpenTelemetrySdk(sdk, resource, config);
5451
}
5552

5653
/**
@@ -73,21 +70,12 @@ static AutoConfiguredOpenTelemetrySdk create(
7370
* <p>This method is experimental so not public. You may reflectively call it using {@link
7471
* AutoConfigureUtil#getConfig(AutoConfiguredOpenTelemetrySdk)}.
7572
*
76-
* @see #getConfigProvider()
73+
* <p>If declarative config was used, {@link #getOpenTelemetrySdk()} will return an instance of
74+
* {@link ExtendedOpenTelemetry} and you can use {@link ExtendedOpenTelemetry#getConfigProvider()}
75+
* to access the configuration.
7776
*/
7877
@Nullable
7978
abstract ConfigProperties getConfig();
8079

81-
/**
82-
* Returns the {@link ConfigProvider}, or {@code null} if declarative configuration was not used.
83-
*
84-
* <p>This method is experimental so not public. You may reflectively call it using {@link
85-
* AutoConfigureUtil#getConfigProvider(AutoConfiguredOpenTelemetrySdk)}.
86-
*
87-
* @see #getConfig()
88-
*/
89-
@Nullable
90-
abstract Object getConfigProvider();
91-
9280
AutoConfiguredOpenTelemetrySdk() {}
9381
}

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,10 +453,6 @@ private AutoConfiguredOpenTelemetrySdk buildImpl() {
453453
componentLoader);
454454
if (fromFileConfiguration != null) {
455455
maybeRegisterShutdownHook(fromFileConfiguration.getOpenTelemetrySdk());
456-
Object configProvider = fromFileConfiguration.getConfigProvider();
457-
if (setResultAsGlobal && INCUBATOR_AVAILABLE && configProvider != null) {
458-
IncubatingUtil.setGlobalConfigProvider(configProvider);
459-
}
460456
return fromFileConfiguration;
461457
}
462458

@@ -495,7 +491,7 @@ private AutoConfiguredOpenTelemetrySdk buildImpl() {
495491
maybeRegisterShutdownHook(openTelemetrySdk);
496492
callAutoConfigureListeners(spiHelper, openTelemetrySdk);
497493

498-
return AutoConfiguredOpenTelemetrySdk.create(openTelemetrySdk, resource, config, null);
494+
return AutoConfiguredOpenTelemetrySdk.create(openTelemetrySdk, resource, config);
499495
} catch (RuntimeException e) {
500496
logger.info(
501497
"Error encountered during autoconfiguration. Closing partially configured components.");

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/IncubatingUtil.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77

88
import static java.util.Objects.requireNonNull;
99

10-
import io.opentelemetry.api.incubator.config.ConfigProvider;
1110
import io.opentelemetry.api.incubator.config.DeclarativeConfigException;
12-
import io.opentelemetry.api.incubator.config.GlobalConfigProvider;
1311
import io.opentelemetry.common.ComponentLoader;
1412
import io.opentelemetry.sdk.OpenTelemetrySdk;
1513
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
@@ -114,18 +112,11 @@ private static AutoConfiguredOpenTelemetrySdk getOpenTelemetrySdk(
114112
create.setAccessible(true);
115113
OpenTelemetrySdk sdk = (OpenTelemetrySdk) create.invoke(null, model, context);
116114

117-
Class<?> providerClass =
118-
Class.forName("io.opentelemetry.sdk.extension.incubator.fileconfig.SdkConfigProvider");
119-
Object provider =
120-
providerClass
121-
.getDeclaredMethod("create", openTelemetryConfiguration, ComponentLoader.class)
122-
.invoke(null, model, componentLoader);
123-
124115
Method getResource = contextClass.getDeclaredMethod("getResource");
125116
getResource.setAccessible(true);
126117
Resource resource = (Resource) getResource.invoke(context);
127118

128-
return AutoConfiguredOpenTelemetrySdk.create(sdk, resource, null, provider);
119+
return AutoConfiguredOpenTelemetrySdk.create(sdk, resource, null);
129120
}
130121

131122
// Visible for testing
@@ -153,8 +144,4 @@ private static ConfigurationException toConfigurationException(
153144
String message = requireNonNull(exception.getMessage());
154145
return new ConfigurationException(message, exception);
155146
}
156-
157-
static void setGlobalConfigProvider(Object configProvider) {
158-
GlobalConfigProvider.set((ConfigProvider) configProvider);
159-
}
160147
}

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/internal/AutoConfigureUtil.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
package io.opentelemetry.sdk.autoconfigure.internal;
77

8-
import io.opentelemetry.api.incubator.config.ConfigProvider;
98
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
109
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder;
1110
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
@@ -40,25 +39,6 @@ public static ConfigProperties getConfig(
4039
}
4140
}
4241

43-
/**
44-
* Returns the {@link ConfigProvider} resulting from auto-configuration when declarative
45-
* configuration is used.
46-
*
47-
* @return the {@link ConfigProvider}, or {@code null} if declarative configuration is NOT used
48-
*/
49-
@Nullable
50-
public static ConfigProvider getConfigProvider(
51-
AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) {
52-
try {
53-
Method method = AutoConfiguredOpenTelemetrySdk.class.getDeclaredMethod("getConfigProvider");
54-
method.setAccessible(true);
55-
return (ConfigProvider) method.invoke(autoConfiguredOpenTelemetrySdk);
56-
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
57-
throw new IllegalStateException(
58-
"Error calling getConfigProvider on AutoConfiguredOpenTelemetrySdk", e);
59-
}
60-
}
61-
6242
/** Sets the {@link ConfigProperties} customizer to be used in the auto-configuration process. */
6343
public static AutoConfiguredOpenTelemetrySdkBuilder setConfigPropertiesCustomizer(
6444
AutoConfiguredOpenTelemetrySdkBuilder builder,

sdk-extensions/autoconfigure/src/testIncubating/java/io/opentelemetry/sdk/autoconfigure/DeclarativeConfigurationTest.java

Lines changed: 7 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,15 @@
1818

1919
import io.github.netmikey.logunit.api.LogCapturer;
2020
import io.opentelemetry.api.GlobalOpenTelemetry;
21-
import io.opentelemetry.api.OpenTelemetry;
21+
import io.opentelemetry.api.incubator.ExtendedOpenTelemetry;
2222
import io.opentelemetry.api.incubator.config.ConfigProvider;
2323
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
24-
import io.opentelemetry.api.incubator.config.GlobalConfigProvider;
2524
import io.opentelemetry.api.incubator.config.InstrumentationConfigUtil;
2625
import io.opentelemetry.common.ComponentLoader;
2726
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
2827
import io.opentelemetry.internal.testing.CleanupExtension;
2928
import io.opentelemetry.internal.testing.slf4j.SuppressLogger;
3029
import io.opentelemetry.sdk.OpenTelemetrySdk;
31-
import io.opentelemetry.sdk.autoconfigure.internal.AutoConfigureUtil;
3230
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
3331
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
3432
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
@@ -87,7 +85,6 @@ void setup() throws IOException {
8785
configFilePath = tempDir.resolve("otel-config.yaml");
8886
Files.write(configFilePath, yaml.getBytes(StandardCharsets.UTF_8));
8987
GlobalOpenTelemetry.resetForTest();
90-
GlobalConfigProvider.resetForTest();
9188
}
9289

9390
@Test
@@ -163,8 +160,10 @@ void configFile_setComponentLoader() {
163160
cleanup.addCloseable(autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk());
164161

165162
assertThat(
166-
Optional.ofNullable(AutoConfigureUtil.getConfigProvider(autoConfiguredOpenTelemetrySdk))
167-
.map(ConfigProvider::getInstrumentationConfig)
163+
Optional.ofNullable(
164+
((ExtendedOpenTelemetry) autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk())
165+
.getConfigProvider()
166+
.getInstrumentationConfig())
168167
.map(DeclarativeConfigProperties::getComponentLoader)
169168
.orElse(null))
170169
.isSameAs(componentLoader);
@@ -184,39 +183,6 @@ void configFile_NoShutdownHook() {
184183
verify(builder, never()).shutdownHook(any());
185184
}
186185

187-
@Test
188-
void configFile_setResultAsGlobalFalse() {
189-
GlobalOpenTelemetry.set(OpenTelemetry.noop());
190-
ConfigProperties config =
191-
DefaultConfigProperties.createFromMap(
192-
Collections.singletonMap("otel.experimental.config.file", configFilePath.toString()));
193-
194-
AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk =
195-
AutoConfiguredOpenTelemetrySdk.builder().setConfig(config).build();
196-
OpenTelemetrySdk openTelemetrySdk = autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk();
197-
cleanup.addCloseable(openTelemetrySdk);
198-
199-
assertThat(GlobalOpenTelemetry.get()).extracting("delegate").isNotSameAs(openTelemetrySdk);
200-
assertThat(GlobalConfigProvider.get())
201-
.isNotSameAs(autoConfiguredOpenTelemetrySdk.getConfigProvider());
202-
}
203-
204-
@Test
205-
void configFile_setResultAsGlobalTrue() {
206-
ConfigProperties config =
207-
DefaultConfigProperties.createFromMap(
208-
Collections.singletonMap("otel.experimental.config.file", configFilePath.toString()));
209-
210-
AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk =
211-
AutoConfiguredOpenTelemetrySdk.builder().setConfig(config).setResultAsGlobal().build();
212-
OpenTelemetrySdk openTelemetrySdk = autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk();
213-
cleanup.addCloseable(openTelemetrySdk);
214-
215-
assertThat(GlobalOpenTelemetry.get()).extracting("delegate").isSameAs(openTelemetrySdk);
216-
assertThat(GlobalConfigProvider.get())
217-
.isSameAs(autoConfiguredOpenTelemetrySdk.getConfigProvider());
218-
}
219-
220186
@Test
221187
void configFile_Error(@TempDir Path tempDir) throws IOException {
222188
String yaml =
@@ -253,11 +219,8 @@ void configFile_ConfigProvider() {
253219
OpenTelemetrySdk openTelemetrySdk = autoConfiguredOpenTelemetrySdk.getOpenTelemetrySdk();
254220
cleanup.addCloseable(openTelemetrySdk);
255221

256-
// getConfig() should return ExtendedConfigProperties generic representation of the config file
257-
ConfigProvider globalConfigProvider = GlobalConfigProvider.get();
258-
assertThat(globalConfigProvider)
259-
.isNotNull()
260-
.isSameAs(AutoConfigureUtil.getConfigProvider(autoConfiguredOpenTelemetrySdk));
222+
ConfigProvider globalConfigProvider =
223+
((ExtendedOpenTelemetry) GlobalOpenTelemetry.get()).getConfigProvider();
261224
DeclarativeConfigProperties instrumentationConfig =
262225
globalConfigProvider.getInstrumentationConfig();
263226
assertThat(instrumentationConfig).isNotNull();

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ static OpenTelemetryConfigurationFactory getInstance() {
3232
@Override
3333
public ExtendedOpenTelemetrySdk create(
3434
OpenTelemetryConfigurationModel model, DeclarativeConfigContext context) {
35-
SdkConfigProvider sdkConfigProvider = SdkConfigProvider.create(model);
35+
SdkConfigProvider sdkConfigProvider =
36+
SdkConfigProvider.create(model, context.getSpiHelper().getComponentLoader());
3637
OpenTelemetrySdkBuilder builder = OpenTelemetrySdk.builder();
3738
String fileFormat = model.getFileFormat();
3839
if (fileFormat == null || !SUPPORTED_FILE_FORMATS.matcher(fileFormat).matches()) {

0 commit comments

Comments
 (0)