From dd9519209bba56fbc6241597eccf121a1401b1a4 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Thu, 21 Jul 2022 17:26:47 +0200 Subject: [PATCH 1/2] Deprecate Config --- .../PeerServiceAttributesExtractor.java | 8 ++++---- .../instrumentation/api/config/Config.java | 6 +++++- .../api/config/ConfigBuilder.java | 7 ++++++- .../bootstrap/InstrumentedTaskClasses.java | 3 +-- .../internal/InstrumentationConfig.java | 7 +++---- .../javaagent/extension/AgentListener.java | 8 +++++--- .../extension/config/ConfigCustomizer.java | 4 ++-- .../ignore/IgnoredTypesConfigurer.java | 7 ++++--- .../instrumentation/InstrumentationModule.java | 6 ++++-- .../javaagent/tooling/AgentInstaller.java | 17 +++++++++++------ .../javaagent/tooling/AgentStarterImpl.java | 5 +++-- .../javaagent/tooling/LoggingCustomizer.java | 5 ++--- .../tooling/OpenTelemetryInstaller.java | 5 +++-- .../bootstrap/BootstrapPackagesConfigurer.java | 4 ++-- .../tooling/config/ConfigInitializer.java | 13 +++++++------ 15 files changed, 62 insertions(+), 43 deletions(-) diff --git a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/PeerServiceAttributesExtractor.java b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/PeerServiceAttributesExtractor.java index 7f9c515b22b5..0735bfc02ea7 100644 --- a/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/PeerServiceAttributesExtractor.java +++ b/instrumentation-api-semconv/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/PeerServiceAttributesExtractor.java @@ -9,7 +9,6 @@ import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.context.Context; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import java.util.Map; @@ -22,8 +21,6 @@ */ public final class PeerServiceAttributesExtractor implements AttributesExtractor { - private static final Map JAVAAGENT_PEER_SERVICE_MAPPING = - Config.get().getMap("otel.instrumentation.common.peer-service-mapping", emptyMap()); private final NetClientAttributesGetter attributesGetter; private final Map peerServiceMapping; @@ -45,7 +42,10 @@ public final class PeerServiceAttributesExtractor @Deprecated public static PeerServiceAttributesExtractor create( NetClientAttributesGetter attributesGetter) { - return create(attributesGetter, JAVAAGENT_PEER_SERVICE_MAPPING); + return create( + attributesGetter, + io.opentelemetry.instrumentation.api.config.Config.get() + .getMap("otel.instrumentation.common.peer-service-mapping", emptyMap())); } /** diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java index 3312d3619b96..c37911562b69 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/Config.java @@ -25,9 +25,13 @@ * repeatedly calling {@link Config}. The instrumentation configuration does not change during the * runtime so retrieving the property once and storing its result in a static final field allows JIT * to do its magic and remove some code branches. + * + * @deprecated This class is deprecated and will be removed from instrumentation-api in the next + * release. Please use programmatic configuration (e.g. builder methods) instead. */ -// TODO: deprecate +@Deprecated @AutoValue +@AutoValue.CopyAnnotations public abstract class Config { private static final Logger logger = Logger.getLogger(Config.class.getName()); diff --git a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/ConfigBuilder.java b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/ConfigBuilder.java index d291a9646f9c..7a4bf17ee845 100644 --- a/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/ConfigBuilder.java +++ b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/config/ConfigBuilder.java @@ -11,7 +11,12 @@ import java.util.Properties; import javax.annotation.Nullable; -/** A builder of a {@link Config}. */ +/** + * A builder of a {@link Config}. + * + * @deprecated This class is deprecated and will be removed together with {@link Config}. + */ +@Deprecated public final class ConfigBuilder { private final Map allProperties; diff --git a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InstrumentedTaskClasses.java b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InstrumentedTaskClasses.java index b1eea43b8d2d..2d4210d0cbed 100644 --- a/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InstrumentedTaskClasses.java +++ b/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InstrumentedTaskClasses.java @@ -5,13 +5,12 @@ package io.opentelemetry.javaagent.bootstrap; -import io.opentelemetry.instrumentation.api.config.Config; import java.util.function.Predicate; import java.util.logging.Logger; public final class InstrumentedTaskClasses { - private static final Logger logger = Logger.getLogger(Config.class.getName()); + private static final Logger logger = Logger.getLogger(InstrumentedTaskClasses.class.getName()); private static final String AGENT_CLASSLOADER_NAME = "io.opentelemetry.javaagent.bootstrap.AgentClassLoader"; diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/InstrumentationConfig.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/InstrumentationConfig.java index 3646e8ec1f94..f0601f423662 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/InstrumentationConfig.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/InstrumentationConfig.java @@ -7,7 +7,6 @@ import static java.util.Objects.requireNonNull; -import io.opentelemetry.instrumentation.api.config.Config; import java.time.Duration; import java.util.List; import java.util.Map; @@ -21,9 +20,9 @@ * *

In case any {@code get*()} method variant gets called for the same property more than once * (e.g. each time an advice class executes) it is suggested to cache the result instead of - * repeatedly calling {@link Config}. Instrumentation configuration does not change during the - * runtime so retrieving the property once and storing its result in a static final field allows JIT - * to do its magic and remove some code branches. + * repeatedly calling {@link InstrumentationConfig}. Instrumentation configuration does not change + * during the runtime so retrieving the property once and storing its result in a static final field + * allows JIT to do its magic and remove some code branches. * *

This class is internal and is hence not for public use. Its APIs are unstable and can change * at any time. diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/AgentListener.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/AgentListener.java index d1f7ee324f19..b5d544d640a1 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/AgentListener.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/AgentListener.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.extension; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import java.lang.instrument.Instrumentation; import net.bytebuddy.agent.builder.AgentBuilder; @@ -28,7 +27,8 @@ public interface AgentListener extends Ordered { */ @Deprecated default void afterAgent( - Config config, AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) { + io.opentelemetry.instrumentation.api.config.Config config, + AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) { throw new UnsupportedOperationException( "This method is deprecated and will be removed in a future release;" + " implement AgentListener#afterAgent(AutoConfiguredOpenTelemetrySdk) instead"); @@ -38,7 +38,9 @@ default void afterAgent( * Runs after instrumentations are added to {@link AgentBuilder} and after the agent is installed * on an {@link Instrumentation}. */ + @SuppressWarnings("deprecation") // Config usage, to be removed default void afterAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) { - afterAgent(Config.get(), autoConfiguredOpenTelemetrySdk); + afterAgent( + io.opentelemetry.instrumentation.api.config.Config.get(), autoConfiguredOpenTelemetrySdk); } } diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/config/ConfigCustomizer.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/config/ConfigCustomizer.java index da31904204e7..d08c071ecc15 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/config/ConfigCustomizer.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/config/ConfigCustomizer.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.extension.config; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.javaagent.extension.Ordered; import java.util.Collections; import java.util.Map; @@ -35,7 +34,8 @@ default Map defaultProperties() { } /** Allows to change the javaagent configuration just before it is first used. */ - default Config customize(Config config) { + default io.opentelemetry.instrumentation.api.config.Config customize( + io.opentelemetry.instrumentation.api.config.Config config) { return config; } } diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/ignore/IgnoredTypesConfigurer.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/ignore/IgnoredTypesConfigurer.java index 8a9a5143b355..e6518d634f11 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/ignore/IgnoredTypesConfigurer.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/ignore/IgnoredTypesConfigurer.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.extension.ignore; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.javaagent.extension.Ordered; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; @@ -26,7 +25,8 @@ public interface IgnoredTypesConfigurer extends Ordered { * @deprecated Use {@link #configure(IgnoredTypesBuilder, ConfigProperties)} instead. */ @Deprecated - default void configure(Config config, IgnoredTypesBuilder builder) { + default void configure( + io.opentelemetry.instrumentation.api.config.Config config, IgnoredTypesBuilder builder) { throw new UnsupportedOperationException( "This method is deprecated and will be removed in a future release;" + " implement IgnoredTypesConfigurer#configure(IgnoredTypesBuilder, ConfigProperties) instead"); @@ -36,7 +36,8 @@ default void configure(Config config, IgnoredTypesBuilder builder) { * Configure the passed {@code builder} and define which classes should be ignored when * instrumenting. */ + @SuppressWarnings("deprecation") // Config usage, to be removed default void configure(IgnoredTypesBuilder builder, ConfigProperties config) { - configure(Config.get(), builder); + configure(io.opentelemetry.instrumentation.api.config.Config.get(), builder); } } diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java index 0fbd5510d8d2..c5586dc79d2f 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java @@ -9,7 +9,6 @@ import static java.util.Collections.unmodifiableSet; import static net.bytebuddy.matcher.ElementMatchers.any; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.javaagent.extension.Ordered; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import java.util.Collections; @@ -31,8 +30,11 @@ * java.util.ServiceLoader} for more details. */ public abstract class InstrumentationModule implements Ordered { + + @SuppressWarnings("deprecation") // Config usage, to be removed private static final boolean DEFAULT_ENABLED = - Config.get().getBoolean("otel.instrumentation.common.default-enabled", true); + io.opentelemetry.instrumentation.api.config.Config.get() + .getBoolean("otel.instrumentation.common.default-enabled", true); private final Set instrumentationNames; diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentInstaller.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentInstaller.java index b4871086519d..ee5bf393fede 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentInstaller.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentInstaller.java @@ -16,7 +16,6 @@ import io.opentelemetry.context.Context; import io.opentelemetry.context.ContextStorage; import io.opentelemetry.context.Scope; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties; import io.opentelemetry.javaagent.bootstrap.AgentClassLoader; import io.opentelemetry.javaagent.bootstrap.AgentInitializer; @@ -78,7 +77,9 @@ public class AgentInstaller { private static final Map> CLASS_LOAD_CALLBACKS = new HashMap<>(); - public static void installBytebuddyAgent(Instrumentation inst, Config config) { + @SuppressWarnings("deprecation") // Config usage, to be removed + public static void installBytebuddyAgent( + Instrumentation inst, io.opentelemetry.instrumentation.api.config.Config config) { addByteBuddyRawSetting(); Integer strictContextStressorMillis = Integer.getInteger(STRICT_CONTEXT_STRESSOR_MILLIS); @@ -97,15 +98,17 @@ public static void installBytebuddyAgent(Instrumentation inst, Config config) { } } + @SuppressWarnings("deprecation") // Config usage, to be removed private static void installBytebuddyAgent( - Instrumentation inst, Config config, Iterable agentListeners) { + Instrumentation inst, + io.opentelemetry.instrumentation.api.config.Config config, + Iterable agentListeners) { WeakRefAsyncOperationEndStrategies.initialize(); EmbeddedInstrumentationProperties.setPropertiesLoader( AgentInitializer.getExtensionsClassLoader()); - setBootstrapPackages(config); setDefineClassHandler(); // If noop OpenTelemetry is enabled, autoConfiguredSdk will be null and AgentListeners are not @@ -116,6 +119,8 @@ private static void installBytebuddyAgent( InstrumentationConfig.internalInitializeConfig(new ConfigPropertiesBridge(sdkConfig)); copyNecessaryConfigToSystemProperties(sdkConfig); + setBootstrapPackages(sdkConfig); + for (BeforeAgentListener agentListener : loadOrdered(BeforeAgentListener.class)) { agentListener.beforeAgent(autoConfiguredSdk); } @@ -195,10 +200,10 @@ private static void setupUnsafe(Instrumentation inst) { } } - private static void setBootstrapPackages(Config config) { + private static void setBootstrapPackages(ConfigProperties config) { BootstrapPackagesBuilderImpl builder = new BootstrapPackagesBuilderImpl(); for (BootstrapPackagesConfigurer configurer : load(BootstrapPackagesConfigurer.class)) { - configurer.configure(config, builder); + configurer.configure(builder, config); } BootstrapPackagePrefixesHolder.setBoostrapPackagePrefixes(builder.build()); } diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentStarterImpl.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentStarterImpl.java index 04f3185df077..533768a2ea66 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentStarterImpl.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentStarterImpl.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.tooling; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.javaagent.bootstrap.AgentInitializer; import io.opentelemetry.javaagent.bootstrap.AgentStarter; import io.opentelemetry.javaagent.tooling.config.ConfigInitializer; @@ -72,6 +71,7 @@ public void start() { } } + @SuppressWarnings("deprecation") // Config usage, to be removed private void internalStart() { Iterator loggingCustomizers = ServiceLoader.load(LoggingCustomizer.class).iterator(); @@ -86,7 +86,8 @@ private void internalStart() { try { loggingCustomizer.init(); ConfigInitializer.initialize(); - AgentInstaller.installBytebuddyAgent(instrumentation, Config.get()); + AgentInstaller.installBytebuddyAgent( + instrumentation, io.opentelemetry.instrumentation.api.config.Config.get()); } catch (Throwable t) { // this is logged below and not rethrown to avoid logging it twice startupError = t; diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/LoggingCustomizer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/LoggingCustomizer.java index 1e4c9c013181..1b81ff6d0975 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/LoggingCustomizer.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/LoggingCustomizer.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.tooling; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; // only one LoggingCustomizer is allowed, and its presence will suppress the @@ -21,7 +20,7 @@ public interface LoggingCustomizer { * Register a callback which will be called on synchronous startup success. * *

Synchronous startup may or may not include running {@link - * io.opentelemetry.javaagent.extension.AgentListener#afterAgent(Config, + * io.opentelemetry.javaagent.extension.AgentListener#afterAgent( * AutoConfiguredOpenTelemetrySdk)}" listeners. */ void onStartupSuccess(); @@ -31,7 +30,7 @@ public interface LoggingCustomizer { * #init()} fails). * *

Synchronous startup may or may not include running {@link - * io.opentelemetry.javaagent.extension.AgentListener#afterAgent(Config, + * io.opentelemetry.javaagent.extension.AgentListener#afterAgent( * AutoConfiguredOpenTelemetrySdk)}" listeners. */ void onStartupFailure(Throwable throwable); diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/OpenTelemetryInstaller.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/OpenTelemetryInstaller.java index f25527d0e424..713e68963938 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/OpenTelemetryInstaller.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/OpenTelemetryInstaller.java @@ -6,7 +6,6 @@ package io.opentelemetry.javaagent.tooling; import io.opentelemetry.instrumentation.api.appender.internal.LogEmitterProvider; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.instrumentation.sdk.appender.internal.DelegatingLogEmitterProvider; import io.opentelemetry.javaagent.bootstrap.AgentInitializer; import io.opentelemetry.javaagent.bootstrap.AgentLogEmitterProvider; @@ -26,7 +25,9 @@ public class OpenTelemetryInstaller { * * @return the {@link AutoConfiguredOpenTelemetrySdk} */ - static AutoConfiguredOpenTelemetrySdk installOpenTelemetrySdk(Config config) { + @SuppressWarnings("deprecation") // Config usage, to be removed + static AutoConfiguredOpenTelemetrySdk installOpenTelemetrySdk( + io.opentelemetry.instrumentation.api.config.Config config) { AutoConfiguredOpenTelemetrySdkBuilder builder = AutoConfiguredOpenTelemetrySdk.builder() .setResultAsGlobal(true) diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bootstrap/BootstrapPackagesConfigurer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bootstrap/BootstrapPackagesConfigurer.java index 6990c135567f..30d0e56a9a8c 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bootstrap/BootstrapPackagesConfigurer.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/bootstrap/BootstrapPackagesConfigurer.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.tooling.bootstrap; -import io.opentelemetry.instrumentation.api.config.Config; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; /** * This SPI can be used to define which packages/classes belong to the bootstrap class loader: all @@ -24,5 +24,5 @@ public interface BootstrapPackagesConfigurer { * Configure the passed {@code builder} and define which classes should always be loaded by the * bootstrap class loader. */ - void configure(Config config, BootstrapPackagesBuilder builder); + void configure(BootstrapPackagesBuilder builder, ConfigProperties config); } diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigInitializer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigInitializer.java index 79e505dfb54a..21e030b3b519 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigInitializer.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigInitializer.java @@ -8,7 +8,6 @@ import static io.opentelemetry.javaagent.tooling.SafeServiceLoader.loadOrdered; import static java.util.logging.Level.SEVERE; -import io.opentelemetry.instrumentation.api.config.Config; import io.opentelemetry.javaagent.extension.config.ConfigPropertySource; import java.io.File; import java.io.FileInputStream; @@ -20,6 +19,7 @@ import java.util.Properties; import java.util.logging.Logger; +@SuppressWarnings("deprecation") // Config usage, to be removed public final class ConfigInitializer { private static final Logger logger = Logger.getLogger(ConfigInitializer.class.getName()); @@ -27,20 +27,21 @@ public final class ConfigInitializer { static final String CONFIGURATION_FILE_PROPERTY = "otel.javaagent.configuration-file"; static final String CONFIGURATION_FILE_ENV_VAR = "OTEL_JAVAAGENT_CONFIGURATION_FILE"; - @SuppressWarnings("deprecation") // loads the ConfigCustomizer SPI public static void initialize() { List customizers = loadOrdered(io.opentelemetry.javaagent.extension.config.ConfigCustomizer.class); - Config config = create(loadSpiConfiguration(customizers), loadConfigurationFile()); + io.opentelemetry.instrumentation.api.config.Config config = + create(loadSpiConfiguration(customizers), loadConfigurationFile()); for (io.opentelemetry.javaagent.extension.config.ConfigCustomizer customizer : customizers) { config = customizer.customize(config); } - Config.internalInitializeConfig(config); + io.opentelemetry.instrumentation.api.config.Config.internalInitializeConfig(config); } // visible for testing - static Config create(Properties spiConfiguration, Properties configurationFile) { - return Config.builder() + static io.opentelemetry.instrumentation.api.config.Config create( + Properties spiConfiguration, Properties configurationFile) { + return io.opentelemetry.instrumentation.api.config.Config.builder() .addProperties(spiConfiguration) .addProperties(configurationFile) .addEnvironmentVariables() From 2d7fbd266e32ec708a7d6fac5eaceb7cf4fe4941 Mon Sep 17 00:00:00 2001 From: Mateusz Rzeszutek Date: Thu, 21 Jul 2022 18:53:01 +0200 Subject: [PATCH 2/2] suppress deprecation on ConfigTest --- .../io/opentelemetry/instrumentation/api/config/ConfigTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/config/ConfigTest.java b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/config/ConfigTest.java index 8ae1bb197ff4..dc92c1377f09 100644 --- a/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/config/ConfigTest.java +++ b/instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/config/ConfigTest.java @@ -20,7 +20,7 @@ import org.junit.jupiter.api.Test; // suppress duration unit check, e.g. ofMillis(5000) -> ofSeconds(5) -@SuppressWarnings({"CanonicalDuration"}) +@SuppressWarnings({"CanonicalDuration", "deprecation"}) class ConfigTest { @Test void shouldGetString() {