diff --git a/apm-agent-benchmarks/pom.xml b/apm-agent-benchmarks/pom.xml
index 13fc3c5924..2fc8e8f0ef 100644
--- a/apm-agent-benchmarks/pom.xml
+++ b/apm-agent-benchmarks/pom.xml
@@ -30,7 +30,7 @@
${project.groupId}
diff --git a/apm-agent-core/pom.xml b/apm-agent-core/pom.xml
index 7884741041..b4e4e91d76 100644
--- a/apm-agent-core/pom.xml
+++ b/apm-agent-core/pom.xml
@@ -88,7 +88,6 @@
org.stagemonitor
stagemonitor-configuration
- 0.87.3
org.ow2.asm
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/bci/bytebuddy/LruTypePoolCache.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/bci/bytebuddy/LruTypePoolCache.java
index 74d67f33b9..3150cd13b4 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/bci/bytebuddy/LruTypePoolCache.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/bci/bytebuddy/LruTypePoolCache.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.bci.bytebuddy;
-import co.elastic.apm.agent.configuration.converter.ByteValue;
+import co.elastic.apm.agent.tracer.configuration.ByteValue;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap;
import co.elastic.apm.agent.util.ExecutorUtils;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfiguration.java
index 7fac36ebf2..6ecaa5fe3c 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfiguration.java
@@ -19,16 +19,16 @@
package co.elastic.apm.agent.configuration;
import co.elastic.apm.agent.bci.ElasticApmAgent;
-import co.elastic.apm.agent.configuration.converter.ListValueConverter;
-import co.elastic.apm.agent.configuration.converter.RoundedDoubleConverter;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ListValueConverter;
+import co.elastic.apm.agent.tracer.configuration.RoundedDoubleConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import co.elastic.apm.agent.configuration.validation.RegexValidator;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.matcher.MethodMatcher;
import co.elastic.apm.agent.matcher.MethodMatcherValueConverter;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import org.stagemonitor.configuration.ConfigurationOption;
@@ -59,7 +59,7 @@
import static co.elastic.apm.agent.configuration.validation.RangeValidator.isInRange;
import static co.elastic.apm.agent.logging.LoggingConfiguration.AGENT_HOME_PLACEHOLDER;
-public class CoreConfiguration extends ConfigurationOptionProvider {
+public class CoreConfiguration extends ConfigurationOptionProvider implements co.elastic.apm.agent.tracer.configuration.CoreConfiguration {
public static final int DEFAULT_LONG_FIELD_MAX_LENGTH = 10000;
private final Logger logger = LoggerFactory.getLogger(getClass());
@@ -847,6 +847,7 @@ public List> getInstrumentationOptions() {
return Arrays.asList(instrument, traceMethods, enabledInstrumentations, disabledInstrumentations, enableExperimentalInstrumentations);
}
+ @Override
public String getServiceName() {
return serviceName.get();
}
@@ -895,10 +896,12 @@ public int getLongFieldMaxLength() {
return longFieldMaxLength.get();
}
+ @Override
public List getSanitizeFieldNames() {
return sanitizeFieldNames.get();
}
+ @Override
public boolean isInstrumentationEnabled(String instrumentationGroupName) {
final Collection enabledInstrumentationGroupNames = enabledInstrumentations.get();
final Collection disabledInstrumentationGroupNames = disabledInstrumentations.get();
@@ -907,6 +910,7 @@ public boolean isInstrumentationEnabled(String instrumentationGroupName) {
(enableExperimentalInstrumentations.get() || !instrumentationGroupName.equals("experimental"));
}
+ @Override
public boolean isInstrumentationEnabled(Collection instrumentationGroupNames) {
return isGroupEnabled(instrumentationGroupNames) &&
!isGroupDisabled(instrumentationGroupNames);
@@ -943,10 +947,12 @@ public List getIgnoreExceptions() {
return ignoreExceptions.get();
}
+ @Override
public EventType getCaptureBody() {
return captureBody.get();
}
+ @Override
public boolean isCaptureHeaders() {
return captureHeaders.get();
}
@@ -1020,6 +1026,7 @@ public int getTracestateSizeLimit() {
return tracestateHeaderSizeLimit.get();
}
+ @Override
public TimeDuration getSpanMinDuration() {
return spanMinDuration.get();
}
@@ -1095,6 +1102,7 @@ public CloudProvider getCloudProvider() {
return cloudProvider.get();
}
+ @Override
public boolean isEnablePublicApiAnnotationInheritance() {
return enablePublicApiAnnotationInheritance.get();
}
@@ -1107,34 +1115,11 @@ public TraceContinuationStrategy getTraceContinuationStrategy() {
return traceContinuationStrategy.get();
}
+ @Override
public ActivationMethod getActivationMethod() {
return activationMethod.get();
}
- public enum EventType {
- /**
- * Request bodies will never be reported
- */
- OFF,
- /**
- * Request bodies will only be reported with errors
- */
- ERRORS,
- /**
- * Request bodies will only be reported with request transactions
- */
- TRANSACTIONS,
- /**
- * Request bodies will be reported with both errors and request transactions
- */
- ALL;
-
- @Override
- public String toString() {
- return name().toLowerCase();
- }
- }
-
public enum CloudProvider {
AUTO,
AWS,
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfiguration.java
index ac7873082e..9af16dfecf 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MetricsConfiguration.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.configuration;
-import co.elastic.apm.agent.configuration.converter.ListValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ListValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
import org.stagemonitor.configuration.converter.DoubleValueConverter;
@@ -29,7 +29,7 @@
import java.util.HashSet;
import java.util.List;
-public class MetricsConfiguration extends ConfigurationOptionProvider {
+public class MetricsConfiguration extends ConfigurationOptionProvider implements co.elastic.apm.agent.tracer.configuration.MetricsConfiguration {
private static final String METRICS_CATEGORY = "Metrics";
@@ -101,6 +101,7 @@ public void assertValid(List buckets) {
.dynamic(false)
.buildWithDefault(false);
+ @Override
public boolean isDedotCustomMetrics() {
return dedotCustomMetrics.get();
}
@@ -117,6 +118,7 @@ public boolean isOverheadMetricsEnabled() {
return overheadMetricsEnabled.get();
}
+ @Override
public List getCustomMetricsHistogramBoundaries() {
return customMetricsHistogramBoundaries.get();
}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/ServerlessConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/ServerlessConfiguration.java
index 688e95feaa..ee7ee259a4 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/ServerlessConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/ServerlessConfiguration.java
@@ -22,7 +22,7 @@
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
-public class ServerlessConfiguration extends ConfigurationOptionProvider {
+public class ServerlessConfiguration extends ConfigurationOptionProvider implements co.elastic.apm.agent.tracer.configuration.ServerlessConfiguration {
public static final String SERVERLESS_CATEGORY = "Serverless";
private final boolean runsOnAwsLambda;
@@ -50,14 +50,17 @@ public ServerlessConfiguration() {
.buildWithDefault(1000L);
+ @Override
public String getAwsLambdaHandler() {
return awsLambdaHandler.get();
}
+ @Override
public long getDataFlushTimeout() {
return dataFlushTimeout.get();
}
+ @Override
public boolean runsOnAwsLambda() {
return runsOnAwsLambda;
}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/SpanConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/SpanConfiguration.java
index 1b5e692e7e..2912801120 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/SpanConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/SpanConfiguration.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.configuration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/StartupInfo.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/StartupInfo.java
index 7cb54f6d27..f75d4807ab 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/StartupInfo.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/StartupInfo.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.configuration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.context.AbstractLifecycleListener;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.stacktrace.StacktraceConfiguration;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/ElasticApmTracer.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/ElasticApmTracer.java
index 3267d5db7a..578d25b1a5 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/ElasticApmTracer.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/ElasticApmTracer.java
@@ -21,6 +21,8 @@
import co.elastic.apm.agent.common.JvmRuntimeInfo;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.configuration.CoreConfiguration;
+import co.elastic.apm.agent.configuration.MetricsConfiguration;
+import co.elastic.apm.agent.configuration.ServerlessConfiguration;
import co.elastic.apm.agent.configuration.ServiceInfo;
import co.elastic.apm.agent.configuration.SpanConfiguration;
import co.elastic.apm.agent.context.ClosableLifecycleListenerAdapter;
@@ -62,6 +64,7 @@
import java.io.Closeable;
import java.io.File;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -82,6 +85,8 @@ public class ElasticApmTracer implements Tracer {
private static final WeakMap serviceInfoByClassLoader = WeakConcurrent.buildMap();
+ private static final Map, Class extends ConfigurationOptionProvider>> configs = new HashMap<>();
+
private static volatile boolean classloaderCheckOk = false;
private final ConfigurationRegistry configurationRegistry;
@@ -126,6 +131,11 @@ protected ActiveStack initialValue() {
static {
checkClassloader();
+ configs.put(co.elastic.apm.agent.tracer.configuration.CoreConfiguration.class, CoreConfiguration.class);
+ configs.put(co.elastic.apm.agent.tracer.configuration.LoggingConfiguration.class, LoggingConfiguration.class);
+ configs.put(co.elastic.apm.agent.tracer.configuration.MetricsConfiguration.class, MetricsConfiguration.class);
+ configs.put(co.elastic.apm.agent.tracer.configuration.ReporterConfiguration.class, ReporterConfiguration.class);
+ configs.put(co.elastic.apm.agent.tracer.configuration.ServerlessConfiguration.class, ServerlessConfiguration.class);
}
private static void checkClassloader() {
@@ -429,7 +439,9 @@ public ConfigurationRegistry getConfigurationRegistry() {
@SuppressWarnings({"unchecked", "rawtypes"})
public T getConfig(Class configProvider) {
T configuration = null;
- if (ConfigurationOptionProvider.class.isAssignableFrom(configProvider)) {
+ if (configs.containsKey(configProvider)) {
+ configuration = (T) configurationRegistry.getConfig(configs.get(configProvider));
+ } else if (ConfigurationOptionProvider.class.isAssignableFrom(configProvider)) {
configuration = (T) configurationRegistry.getConfig((Class) configProvider);
}
if (configuration == null) {
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/circuitbreaker/CircuitBreakerConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/circuitbreaker/CircuitBreakerConfiguration.java
index b0ef74741b..f234771156 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/circuitbreaker/CircuitBreakerConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/circuitbreaker/CircuitBreakerConfiguration.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.impl.circuitbreaker;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyProcessor.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyProcessor.java
index 46a10cea4c..12af85bff8 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyProcessor.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/BodyProcessor.java
@@ -24,9 +24,9 @@
import co.elastic.apm.agent.configuration.CoreConfiguration;
import org.stagemonitor.configuration.ConfigurationRegistry;
-import static co.elastic.apm.agent.configuration.CoreConfiguration.EventType.ALL;
-import static co.elastic.apm.agent.configuration.CoreConfiguration.EventType.ERRORS;
-import static co.elastic.apm.agent.configuration.CoreConfiguration.EventType.TRANSACTIONS;
+import static co.elastic.apm.agent.tracer.configuration.CoreConfiguration.EventType.ALL;
+import static co.elastic.apm.agent.tracer.configuration.CoreConfiguration.EventType.ERRORS;
+import static co.elastic.apm.agent.tracer.configuration.CoreConfiguration.EventType.TRANSACTIONS;
/**
* This processor redacts the body according to the {@link co.elastic.apm.agent.configuration.CoreConfiguration#captureBody}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/Agent.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/Agent.java
index ccd913592d..ced67db9bb 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/Agent.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/Agent.java
@@ -20,8 +20,8 @@
import co.elastic.apm.agent.configuration.ActivationMethod;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.GlobalTracer;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.util.PrivilegedActionUtils;
import javax.annotation.Nullable;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/MetaData.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/MetaData.java
index b2298ecf0f..147c9b418d 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/MetaData.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/MetaData.java
@@ -103,7 +103,7 @@ public static MetaDataFuture create(ConfigurationRegistry configurationRegistry,
final ServerlessConfiguration serverlessConfiguration = configurationRegistry.getConfig(ServerlessConfiguration.class);
final ServiceFactory serviceFactory = new ServiceFactory();
- final Service service = serviceFactory.createService(coreConfiguration, ephemeralId, serverlessConfiguration);
+ final Service service = serviceFactory.createService(coreConfiguration, ephemeralId, serverlessConfiguration.runsOnAwsLambda());
final ProcessInfo processInformation = ProcessFactory.ForCurrentVM.INSTANCE.getProcessInformation();
if (!configurationRegistry.getConfig(ReporterConfiguration.class).isIncludeProcessArguments()) {
processInformation.getArgv().clear();
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/ServiceFactory.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/ServiceFactory.java
index ee9a853135..11c5c81023 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/ServiceFactory.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/metadata/ServiceFactory.java
@@ -18,14 +18,13 @@
*/
package co.elastic.apm.agent.impl.metadata;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.ServerlessConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.util.PrivilegedActionUtils;
import co.elastic.apm.agent.util.VersionUtils;
public class ServiceFactory {
- public Service createService(CoreConfiguration coreConfiguration, String ephemeralId, ServerlessConfiguration serverlessConfiguration) {
+ public Service createService(CoreConfiguration coreConfiguration, String ephemeralId, boolean runsOnAwsLambda) {
Service service = new Service()
.withName(coreConfiguration.getServiceName())
.withVersion(coreConfiguration.getServiceVersion())
@@ -35,7 +34,7 @@ public Service createService(CoreConfiguration coreConfiguration, String ephemer
.withLanguage(new Language("Java", System.getProperty("java.version")))
.withNode(new Node(coreConfiguration.getServiceNodeName()));
- if (serverlessConfiguration.runsOnAwsLambda()) {
+ if (runsOnAwsLambda) {
augmentServiceForAWSLambda(service);
}
return service;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/stacktrace/StacktraceConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/stacktrace/StacktraceConfiguration.java
index ad68f1b93b..16843871ac 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/stacktrace/StacktraceConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/stacktrace/StacktraceConfiguration.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.impl.stacktrace;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/TraceState.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/TraceState.java
index 84032c6cda..695beb3a79 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/TraceState.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/TraceState.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.impl.transaction;
-import co.elastic.apm.agent.configuration.converter.RoundedDoubleConverter;
+import co.elastic.apm.agent.tracer.configuration.RoundedDoubleConverter;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import co.elastic.apm.agent.tracer.dispatch.HeaderGetter;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/Log4j2ConfigurationFactory.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/Log4j2ConfigurationFactory.java
index 5848939007..0bb8d6e634 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/Log4j2ConfigurationFactory.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/Log4j2ConfigurationFactory.java
@@ -22,7 +22,7 @@
import co.elastic.apm.agent.common.util.SystemStandardOutputLogger;
import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.configuration.ServiceInfo;
-import co.elastic.apm.agent.configuration.converter.ByteValue;
+import co.elastic.apm.agent.tracer.configuration.ByteValue;
import co.elastic.apm.agent.report.ApmServerReporter;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Filter;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LoggingConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LoggingConfiguration.java
index f046adc3a4..16b2ca1ada 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LoggingConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LoggingConfiguration.java
@@ -19,10 +19,11 @@
package co.elastic.apm.agent.logging;
import co.elastic.apm.agent.common.util.SystemStandardOutputLogger;
-import co.elastic.apm.agent.configuration.converter.ByteValue;
-import co.elastic.apm.agent.configuration.converter.ByteValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ByteValue;
+import co.elastic.apm.agent.tracer.configuration.ByteValueConverter;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.LogEcsReformatting;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
@@ -64,7 +65,7 @@
* so that the documentation gets generated for the options in this class.
*
*/
-public class LoggingConfiguration extends ConfigurationOptionProvider {
+public class LoggingConfiguration extends ConfigurationOptionProvider implements co.elastic.apm.agent.tracer.configuration.LoggingConfiguration {
public static final String SYSTEM_OUT = "System.out";
static final String LOG_LEVEL_KEY = "log_level";
@@ -355,32 +356,39 @@ private static void setLogLevel(@Nullable LogLevel level) {
Configurator.setLevel("com.networknt.schema", org.apache.logging.log4j.Level.WARN);
}
+ @Override
public LogEcsReformatting getLogEcsReformatting() {
return logEcsReformatting.get();
}
+ @Override
public Map getLogEcsReformattingAdditionalFields() {
return logEcsReformattingAdditionalFields.get();
}
+ @Override
public List getLogEcsFormatterAllowList() {
return logEcsFormatterAllowList.get();
}
+ @Override
@Nullable
public String getLogEcsFormattingDestinationDir() {
String logReformattingDestDir = logEcsFormattingDestinationDir.get().trim();
return (logReformattingDestDir.isEmpty()) ? null : logReformattingDestDir;
}
+ @Override
public long getLogFileSize() {
return logFileSize.get().getBytes();
}
+ @Override
public long getDefaultLogFileSize() {
return logFileSize.getValueConverter().convert(logFileSize.getDefaultValueAsString()).getBytes();
}
+ @Override
public boolean getSendLogs() {
return sendLogs.get();
}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverter.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverter.java
index 1412139df4..612f27416a 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverter.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverter.java
@@ -18,10 +18,10 @@
*/
package co.elastic.apm.agent.matcher;
-import co.elastic.apm.agent.configuration.converter.ListValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ListValueConverter;
import org.stagemonitor.configuration.converter.ValueConverter;
-import static co.elastic.apm.agent.configuration.converter.ListValueConverter.COMMA_OUT_OF_BRACKETS;
+import static co.elastic.apm.agent.tracer.configuration.ListValueConverter.COMMA_OUT_OF_BRACKETS;
public enum MethodMatcherValueConverter implements ValueConverter {
INSTANCE;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/report/ReporterConfiguration.java b/apm-agent-core/src/main/java/co/elastic/apm/agent/report/ReporterConfiguration.java
index 28655ff078..a7601282c7 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/report/ReporterConfiguration.java
+++ b/apm-agent-core/src/main/java/co/elastic/apm/agent/report/ReporterConfiguration.java
@@ -18,12 +18,12 @@
*/
package co.elastic.apm.agent.report;
-import co.elastic.apm.agent.configuration.converter.ByteValue;
-import co.elastic.apm.agent.configuration.converter.ByteValueConverter;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ByteValue;
+import co.elastic.apm.agent.tracer.configuration.ByteValueConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
@@ -37,7 +37,7 @@
import static co.elastic.apm.agent.configuration.validation.RangeValidator.isNotInRange;
-public class ReporterConfiguration extends ConfigurationOptionProvider {
+public class ReporterConfiguration extends ConfigurationOptionProvider implements co.elastic.apm.agent.tracer.configuration.ReporterConfiguration {
public static final String REPORTER_CATEGORY = "Reporter";
public static final URL LOCAL_APM_SERVER_URL = UrlValueConverter.INSTANCE.convert("http://127.0.0.1:8200");
@@ -296,10 +296,12 @@ public long getApiRequestSize() {
}
//Only whole seconds are used, so drop the fractional part at 1 second resolution
+ @Override
public long getMetricsIntervalMs() {
return (metricsInterval.get().getMillis()/1000L)*1000L;
}
+ @Override
public List getDisableMetrics() {
return disableMetrics.get();
}
diff --git a/apm-agent-core/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider b/apm-agent-core/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider
index 40d784f8a0..389c99067e 100644
--- a/apm-agent-core/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider
+++ b/apm-agent-core/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider
@@ -3,8 +3,6 @@ co.elastic.apm.agent.configuration.CoreConfiguration
co.elastic.apm.agent.report.ReporterConfiguration
co.elastic.apm.agent.impl.stacktrace.StacktraceConfiguration
co.elastic.apm.agent.logging.LoggingConfiguration
-co.elastic.apm.agent.impl.context.web.WebConfiguration
-co.elastic.apm.agent.configuration.MessagingConfiguration
co.elastic.apm.agent.impl.circuitbreaker.CircuitBreakerConfiguration
co.elastic.apm.agent.configuration.MetricsConfiguration
co.elastic.apm.agent.configuration.ServerlessConfiguration
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/StartupInfoTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/StartupInfoTest.java
index 85f05bef76..aed7cba9db 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/StartupInfoTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/StartupInfoTest.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.configuration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import co.elastic.apm.agent.impl.stacktrace.StacktraceConfiguration;
import co.elastic.apm.agent.logging.LoggingConfiguration;
import org.junit.jupiter.api.BeforeEach;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/validation/RangeValidatorTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/validation/RangeValidatorTest.java
index 085f2596b7..e9232b52db 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/validation/RangeValidatorTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/validation/RangeValidatorTest.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.configuration.validation;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/AbstractCompressionStrategyTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/AbstractCompressionStrategyTest.java
index a0906a24b8..37bc431b06 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/AbstractCompressionStrategyTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/AbstractCompressionStrategyTest.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.configuration.SpanConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.context.ServiceTarget;
import co.elastic.apm.agent.tracer.Outcome;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/ExactMatchCompressionStrategyTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/ExactMatchCompressionStrategyTest.java
index bfcfd2ac1b..64ad5d4c42 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/ExactMatchCompressionStrategyTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/ExactMatchCompressionStrategyTest.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.impl.transaction;
import co.elastic.apm.agent.configuration.SpanConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/FastExitSpanTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/FastExitSpanTest.java
index e4bec6968b..47d3d45baf 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/FastExitSpanTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/FastExitSpanTest.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.configuration.SpanConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.tracer.Outcome;
import org.junit.jupiter.api.AfterEach;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanCompressionIT.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanCompressionIT.java
index e2dcb50db5..d83082b0b5 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanCompressionIT.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/impl/transaction/SpanCompressionIT.java
@@ -20,11 +20,9 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
-import co.elastic.apm.agent.common.ThreadUtils;
import co.elastic.apm.agent.configuration.SpanConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
-import co.elastic.apm.agent.logging.TestUtils;
import co.elastic.apm.agent.util.ExecutorUtils;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverterTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverterTest.java
index 41d18b2430..5b96fee122 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverterTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/MethodMatcherValueConverterTest.java
@@ -18,9 +18,7 @@
*/
package co.elastic.apm.agent.matcher;
-import co.elastic.apm.agent.configuration.converter.ListValueConverter;
-import co.elastic.apm.agent.matcher.MethodMatcher;
-import co.elastic.apm.agent.matcher.MethodMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ListValueConverter;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/ApmServerReporterIntegrationTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/ApmServerReporterIntegrationTest.java
index d98fb006e2..9d49d54e7b 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/report/ApmServerReporterIntegrationTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/report/ApmServerReporterIntegrationTest.java
@@ -19,7 +19,6 @@
package co.elastic.apm.agent.report;
import co.elastic.apm.agent.MockTracer;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.error.ErrorCapture;
import co.elastic.apm.agent.impl.metadata.MetaDataMock;
@@ -32,6 +31,7 @@
import co.elastic.apm.agent.objectpool.ObjectPoolFactory;
import co.elastic.apm.agent.report.processor.ProcessorEventHandler;
import co.elastic.apm.agent.report.serialize.DslJsonSerializer;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import io.undertow.Undertow;
import io.undertow.server.HttpHandler;
import io.undertow.server.handlers.BlockingHandler;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/tracemethods/TraceMethodInstrumentationTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/tracemethods/TraceMethodInstrumentationTest.java
index 49bd9a45af..dca5c5bf2a 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/tracemethods/TraceMethodInstrumentationTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/tracemethods/TraceMethodInstrumentationTest.java
@@ -22,7 +22,7 @@
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.bci.ElasticApmAgent;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.TracerInternalApiUtils;
import co.elastic.apm.agent.impl.transaction.AbstractSpan;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/util/TransactionNameUtilsTest.java b/apm-agent-core/src/test/java/co/elastic/apm/agent/util/TransactionNameUtilsTest.java
index 8225c78fe0..eb189a5d6e 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/util/TransactionNameUtilsTest.java
+++ b/apm-agent-core/src/test/java/co/elastic/apm/agent/util/TransactionNameUtilsTest.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.util;
import co.elastic.apm.agent.AbstractInstrumentationTest;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import org.jetbrains.annotations.Nullable;
import org.junit.jupiter.api.BeforeEach;
diff --git a/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureSpanInstrumentation.java b/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureSpanInstrumentation.java
index 5a38572435..8a487e506c 100644
--- a/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureSpanInstrumentation.java
+++ b/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureSpanInstrumentation.java
@@ -20,7 +20,6 @@
import co.elastic.apm.agent.bci.bytebuddy.AnnotationValueOffsetMappingFactory;
import co.elastic.apm.agent.bci.bytebuddy.SimpleMethodSignatureOffsetMappingFactory;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.stacktrace.StacktraceConfiguration;
import co.elastic.apm.agent.sdk.ElasticApmInstrumentation;
@@ -29,6 +28,7 @@
import co.elastic.apm.agent.tracer.Outcome;
import co.elastic.apm.agent.tracer.Span;
import co.elastic.apm.agent.tracer.Tracer;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import net.bytebuddy.asm.Advice;
import net.bytebuddy.description.NamedElement;
import net.bytebuddy.description.method.MethodDescription;
diff --git a/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureTransactionInstrumentation.java b/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureTransactionInstrumentation.java
index 969acb6a46..3e36193430 100644
--- a/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureTransactionInstrumentation.java
+++ b/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/CaptureTransactionInstrumentation.java
@@ -20,7 +20,6 @@
import co.elastic.apm.agent.bci.bytebuddy.AnnotationValueOffsetMappingFactory.AnnotationValueExtractor;
import co.elastic.apm.agent.bci.bytebuddy.SimpleMethodSignatureOffsetMappingFactory.SimpleMethodSignature;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.stacktrace.StacktraceConfiguration;
import co.elastic.apm.agent.sdk.ElasticApmInstrumentation;
@@ -28,6 +27,7 @@
import co.elastic.apm.agent.tracer.Outcome;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.util.PrivilegedActionUtils;
import net.bytebuddy.asm.Advice;
import net.bytebuddy.description.NamedElement;
diff --git a/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/TracedInstrumentation.java b/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/TracedInstrumentation.java
index eae5026f25..50a8c7aa29 100644
--- a/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/TracedInstrumentation.java
+++ b/apm-agent-plugins/apm-api-plugin/src/main/java/co/elastic/apm/agent/pluginapi/TracedInstrumentation.java
@@ -20,7 +20,6 @@
import co.elastic.apm.agent.bci.bytebuddy.AnnotationValueOffsetMappingFactory;
import co.elastic.apm.agent.bci.bytebuddy.SimpleMethodSignatureOffsetMappingFactory;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.stacktrace.StacktraceConfiguration;
import co.elastic.apm.agent.sdk.ElasticApmInstrumentation;
@@ -30,6 +29,7 @@
import co.elastic.apm.agent.tracer.Span;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.util.PrivilegedActionUtils;
import net.bytebuddy.asm.Advice;
import net.bytebuddy.description.NamedElement;
diff --git a/apm-agent-plugins/apm-api-plugin/src/test/java/co/elastic/apm/api/SpanDiscardingTest.java b/apm-agent-plugins/apm-api-plugin/src/test/java/co/elastic/apm/api/SpanDiscardingTest.java
index 381dec6608..9eaa784d39 100644
--- a/apm-agent-plugins/apm-api-plugin/src/test/java/co/elastic/apm/api/SpanDiscardingTest.java
+++ b/apm-agent-plugins/apm-api-plugin/src/test/java/co/elastic/apm/api/SpanDiscardingTest.java
@@ -20,7 +20,7 @@
import co.elastic.apm.AbstractApiTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import org.junit.jupiter.api.Test;
import java.util.List;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/main/java/co/elastic/apm/agent/awssdk/v1/helper/SQSHelper.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/main/java/co/elastic/apm/agent/awssdk/v1/helper/SQSHelper.java
index bedf93cb05..cac6766876 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/main/java/co/elastic/apm/agent/awssdk/v1/helper/SQSHelper.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/main/java/co/elastic/apm/agent/awssdk/v1/helper/SQSHelper.java
@@ -20,12 +20,12 @@
import co.elastic.apm.agent.awssdk.common.AbstractSQSInstrumentationHelper;
import co.elastic.apm.agent.awssdk.v1.helper.sqs.wrapper.ReceiveMessageResultWrapper;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.Span;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.tracer.Tracer;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.dispatch.TextHeaderSetter;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSClientIT.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSClientIT.java
index ba9840db71..e811db0ac4 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSClientIT.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSClientIT.java
@@ -20,9 +20,9 @@
import co.elastic.apm.agent.awssdk.common.AbstractSQSClientIT;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.Transaction;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSJmsClientIT.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSJmsClientIT.java
index 9f2c1efcaa..20d4af4e3e 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSJmsClientIT.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-1-plugin/src/test/java/co/elastic/apm/agent/awssdk/v1/SQSJmsClientIT.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.awssdk.common.AbstractAwsClientIT;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.impl.Tracer;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/main/java/co/elastic/apm/agent/awssdk/v2/helper/sqs/wrapper/MessageListWrapper.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/main/java/co/elastic/apm/agent/awssdk/v2/helper/sqs/wrapper/MessageListWrapper.java
index c53439d0aa..06e86f98fc 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/main/java/co/elastic/apm/agent/awssdk/v2/helper/sqs/wrapper/MessageListWrapper.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/main/java/co/elastic/apm/agent/awssdk/v2/helper/sqs/wrapper/MessageListWrapper.java
@@ -22,7 +22,7 @@
import co.elastic.apm.agent.awssdk.common.IAwsSdkDataSource;
import co.elastic.apm.agent.awssdk.v2.helper.SQSHelper;
import co.elastic.apm.agent.awssdk.v2.helper.SdkV2DataSource;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.sdk.state.CallDepth;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSClientIT.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSClientIT.java
index d4e00771bf..992bb5460d 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSClientIT.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSClientIT.java
@@ -20,9 +20,9 @@
import co.elastic.apm.agent.awssdk.common.AbstractSQSClientIT;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.Transaction;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.localstack.LocalStackContainer;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSJmsClientIT.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSJmsClientIT.java
index 73f0650016..78424b0bf1 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSJmsClientIT.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-2-plugin/src/test/java/co/elastic/apm/agent/awssdk/v2/SQSJmsClientIT.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.awssdk.common.AbstractAwsClientIT;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.impl.Tracer;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/main/java/co/elastic/apm/agent/awssdk/common/AbstractSQSInstrumentationHelper.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/main/java/co/elastic/apm/agent/awssdk/common/AbstractSQSInstrumentationHelper.java
index 1c504d9b43..e5de7b3ea8 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/main/java/co/elastic/apm/agent/awssdk/common/AbstractSQSInstrumentationHelper.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/main/java/co/elastic/apm/agent/awssdk/common/AbstractSQSInstrumentationHelper.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.awssdk.common;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.Span;
import co.elastic.apm.agent.tracer.Tracer;
diff --git a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/test/java/co/elastic/apm/agent/awssdk/common/AbstractSQSClientIT.java b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/test/java/co/elastic/apm/agent/awssdk/common/AbstractSQSClientIT.java
index 6a7772d89c..48005464f3 100644
--- a/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/test/java/co/elastic/apm/agent/awssdk/common/AbstractSQSClientIT.java
+++ b/apm-agent-plugins/apm-aws-sdk/apm-aws-sdk-common/src/test/java/co/elastic/apm/agent/awssdk/common/AbstractSQSClientIT.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.awssdk.common;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.transaction.AbstractSpan;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.Transaction;
diff --git a/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/AbstractAwsLambdaHandlerInstrumentation.java b/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/AbstractAwsLambdaHandlerInstrumentation.java
index d07533c4c5..9c1bef5c3c 100644
--- a/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/AbstractAwsLambdaHandlerInstrumentation.java
+++ b/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/AbstractAwsLambdaHandlerInstrumentation.java
@@ -19,8 +19,8 @@
package co.elastic.apm.agent.awslambda;
import co.elastic.apm.agent.bci.TracerAwareInstrumentation;
-import co.elastic.apm.agent.configuration.ServerlessConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
+import co.elastic.apm.agent.tracer.configuration.ServerlessConfiguration;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.matcher.ElementMatcher;
@@ -63,7 +63,7 @@ public Collection getInstrumentationGroupNames() {
* Matches either custom types or implementations of {@link com.amazonaws.services.lambda.runtime.RequestHandler} or
* {@link com.amazonaws.services.lambda.runtime.RequestStreamHandler}.
* The actual instrumentation will be made based on method matching.
- * @return handler type matching based on the configured {@link ServerlessConfiguration#awsLambdaHandler}
+ * @return handler type matching based on the configured {@link ServerlessConfiguration#getAwsLambdaHandler()}
*/
@Override
public ElementMatcher super TypeDescription> getTypeMatcher() {
diff --git a/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractAPIGatewayTransactionHelper.java b/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractAPIGatewayTransactionHelper.java
index fdce366e23..32a12ff786 100644
--- a/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractAPIGatewayTransactionHelper.java
+++ b/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractAPIGatewayTransactionHelper.java
@@ -38,7 +38,7 @@
import java.util.Map;
import java.util.Set;
-import static co.elastic.apm.agent.configuration.CoreConfiguration.EventType.OFF;
+import static co.elastic.apm.agent.tracer.configuration.CoreConfiguration.EventType.OFF;
public abstract class AbstractAPIGatewayTransactionHelper extends AbstractLambdaTransactionHelper {
private static final Logger logger = LoggerFactory.getLogger(AbstractAPIGatewayTransactionHelper.class);
diff --git a/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractLambdaTransactionHelper.java b/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractLambdaTransactionHelper.java
index c13b00d0cd..f0b45fcd65 100644
--- a/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractLambdaTransactionHelper.java
+++ b/apm-agent-plugins/apm-awslambda-plugin/src/main/java/co/elastic/apm/agent/awslambda/helper/AbstractLambdaTransactionHelper.java
@@ -20,10 +20,10 @@
import co.elastic.apm.agent.bci.ElasticApmAgent;
import co.elastic.apm.agent.bci.InstrumentationStats;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.ServerlessConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.ServerlessConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.metadata.FaaSMetaDataExtension;
import co.elastic.apm.agent.impl.metadata.Framework;
import co.elastic.apm.agent.impl.metadata.NameAndIdField;
diff --git a/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV1LambdaTest.java b/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV1LambdaTest.java
index 294c1bd044..8f88d42575 100644
--- a/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV1LambdaTest.java
+++ b/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV1LambdaTest.java
@@ -25,7 +25,7 @@
import co.elastic.apm.agent.impl.context.Request;
import co.elastic.apm.agent.impl.context.Response;
import co.elastic.apm.agent.impl.context.Url;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.Faas;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.tracer.Outcome;
diff --git a/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV2LambdaTest.java b/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV2LambdaTest.java
index 0b5c9ac00f..b3970915af 100644
--- a/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV2LambdaTest.java
+++ b/apm-agent-plugins/apm-awslambda-plugin/src/test/java/co/elastic/apm/agent/awslambda/ApiGatewayV2LambdaTest.java
@@ -26,7 +26,7 @@
import co.elastic.apm.agent.impl.context.Request;
import co.elastic.apm.agent.impl.context.Response;
import co.elastic.apm.agent.impl.context.Url;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.Faas;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.tracer.Outcome;
diff --git a/apm-agent-plugins/apm-ecs-logging-plugin/src/main/java/co/elastic/apm/agent/ecs_logging/EcsLoggingUtils.java b/apm-agent-plugins/apm-ecs-logging-plugin/src/main/java/co/elastic/apm/agent/ecs_logging/EcsLoggingUtils.java
index bf7b4090ef..6ce83e7bab 100644
--- a/apm-agent-plugins/apm-ecs-logging-plugin/src/main/java/co/elastic/apm/agent/ecs_logging/EcsLoggingUtils.java
+++ b/apm-agent-plugins/apm-ecs-logging-plugin/src/main/java/co/elastic/apm/agent/ecs_logging/EcsLoggingUtils.java
@@ -18,7 +18,6 @@
*/
package co.elastic.apm.agent.ecs_logging;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.configuration.ServiceInfo;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.sdk.logging.Logger;
@@ -26,6 +25,7 @@
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakSet;
import co.elastic.apm.agent.tracer.GlobalTracer;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import javax.annotation.Nullable;
import java.util.Objects;
diff --git a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/src/main/java/co/elastic/apm/agent/esrestclient/ElasticsearchConfiguration.java b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/src/main/java/co/elastic/apm/agent/esrestclient/ElasticsearchConfiguration.java
index 7b9bf3dd55..4a34ce399a 100644
--- a/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/src/main/java/co/elastic/apm/agent/esrestclient/ElasticsearchConfiguration.java
+++ b/apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/src/main/java/co/elastic/apm/agent/esrestclient/ElasticsearchConfiguration.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.esrestclient;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
import org.stagemonitor.configuration.converter.ListValueConverter;
diff --git a/apm-agent-plugins/apm-httpserver-core/src/main/java/co/elastic/apm/agent/httpserver/HttpServerHelper.java b/apm-agent-plugins/apm-httpserver-core/src/main/java/co/elastic/apm/agent/httpserver/HttpServerHelper.java
index ff94f262a7..f7ad7d18b2 100644
--- a/apm-agent-plugins/apm-httpserver-core/src/main/java/co/elastic/apm/agent/httpserver/HttpServerHelper.java
+++ b/apm-agent-plugins/apm-httpserver-core/src/main/java/co/elastic/apm/agent/httpserver/HttpServerHelper.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.httpserver;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
diff --git a/apm-agent-plugins/apm-java-concurrent-plugin/src/test/java/co/elastic/apm/agent/concurrent/AsyncTraceMethodInstrumentationTest.java b/apm-agent-plugins/apm-java-concurrent-plugin/src/test/java/co/elastic/apm/agent/concurrent/AsyncTraceMethodInstrumentationTest.java
index a84c8945e3..3e13c855c0 100644
--- a/apm-agent-plugins/apm-java-concurrent-plugin/src/test/java/co/elastic/apm/agent/concurrent/AsyncTraceMethodInstrumentationTest.java
+++ b/apm-agent-plugins/apm-java-concurrent-plugin/src/test/java/co/elastic/apm/agent/concurrent/AsyncTraceMethodInstrumentationTest.java
@@ -22,7 +22,7 @@
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.bci.ElasticApmAgent;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.matcher.MethodMatcher;
import net.bytebuddy.agent.ByteBuddyAgent;
diff --git a/apm-agent-plugins/apm-javalin-plugin/src/main/java/co/elastic/apm/agent/javalin/JavalinInstrumentation.java b/apm-agent-plugins/apm-javalin-plugin/src/main/java/co/elastic/apm/agent/javalin/JavalinInstrumentation.java
index f4694d3b10..2275c9dc26 100644
--- a/apm-agent-plugins/apm-javalin-plugin/src/main/java/co/elastic/apm/agent/javalin/JavalinInstrumentation.java
+++ b/apm-agent-plugins/apm-javalin-plugin/src/main/java/co/elastic/apm/agent/javalin/JavalinInstrumentation.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.bci.TracerAwareInstrumentation;
import co.elastic.apm.agent.tracer.GlobalTracer;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.Span;
import co.elastic.apm.agent.tracer.Transaction;
diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/src/main/java/co/elastic/apm/agent/httpserver/HttpHandlerAdvice.java b/apm-agent-plugins/apm-jdk-httpserver-plugin/src/main/java/co/elastic/apm/agent/httpserver/HttpHandlerAdvice.java
index 9bbd6d9e7a..11b94b63b0 100644
--- a/apm-agent-plugins/apm-jdk-httpserver-plugin/src/main/java/co/elastic/apm/agent/httpserver/HttpHandlerAdvice.java
+++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/src/main/java/co/elastic/apm/agent/httpserver/HttpHandlerAdvice.java
@@ -18,11 +18,11 @@
*/
package co.elastic.apm.agent.httpserver;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.impl.context.web.ResultUtil;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.tracer.metadata.Request;
diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpHandlerTest.java b/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpHandlerTest.java
index 4911607273..25ed94f2c9 100644
--- a/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpHandlerTest.java
+++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpHandlerTest.java
@@ -24,7 +24,7 @@
import co.elastic.apm.agent.impl.context.Socket;
import co.elastic.apm.agent.impl.context.Url;
import co.elastic.apm.agent.impl.context.web.ResultUtil;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.TraceContext;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.common.util.WildcardMatcher;
diff --git a/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpServerHelperTest.java b/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpServerHelperTest.java
index 9d1e21d0cd..4486b7415d 100644
--- a/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpServerHelperTest.java
+++ b/apm-agent-plugins/apm-jdk-httpserver-plugin/src/test/java/co/elastic/apm/agent/httpserver/HttpServerHelperTest.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.httpserver;
import co.elastic.apm.agent.AbstractInstrumentationTest;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/BaseJmsInstrumentation.java b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/BaseJmsInstrumentation.java
index 62e5aa45c3..908880a349 100644
--- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/BaseJmsInstrumentation.java
+++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/BaseJmsInstrumentation.java
@@ -19,8 +19,8 @@
package co.elastic.apm.agent.jms;
import co.elastic.apm.agent.bci.TracerAwareInstrumentation;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.Tracer;
import net.bytebuddy.matcher.ElementMatcher;
diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsInstrumentationHelper.java b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsInstrumentationHelper.java
index 3d5bb6cddd..4042232fad 100644
--- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsInstrumentationHelper.java
+++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsInstrumentationHelper.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.jms;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.Span;
diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageConsumerInstrumentation.java b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageConsumerInstrumentation.java
index e118f8e84b..e9c2a06be7 100644
--- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageConsumerInstrumentation.java
+++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageConsumerInstrumentation.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.jms;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.Span;
import co.elastic.apm.agent.tracer.Transaction;
diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageListenerInstrumentation.java b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageListenerInstrumentation.java
index 44154a3fe8..cd56ae7bc3 100644
--- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageListenerInstrumentation.java
+++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/main/java/co/elastic/apm/agent/jms/JmsMessageListenerInstrumentation.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.jms;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.sdk.logging.Logger;
diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsInstrumentationIT.java b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsInstrumentationIT.java
index f322f06864..81bed63b61 100644
--- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsInstrumentationIT.java
+++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsInstrumentationIT.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.TracerInternalApiUtils;
import co.elastic.apm.agent.impl.context.Headers;
import co.elastic.apm.agent.impl.sampling.ConstantSampler;
@@ -62,8 +62,8 @@
import java.util.function.Function;
import java.util.stream.Collectors;
-import static co.elastic.apm.agent.configuration.MessagingConfiguration.JmsStrategy.BOTH;
-import static co.elastic.apm.agent.configuration.MessagingConfiguration.JmsStrategy.POLLING;
+import static co.elastic.apm.agent.tracer.configuration.MessagingConfiguration.JmsStrategy.BOTH;
+import static co.elastic.apm.agent.tracer.configuration.MessagingConfiguration.JmsStrategy.POLLING;
import static co.elastic.apm.agent.jms.JmsInstrumentationHelper.JMS_EXPIRATION_HEADER;
import static co.elastic.apm.agent.jms.JmsInstrumentationHelper.JMS_MESSAGE_ID_HEADER;
import static co.elastic.apm.agent.jms.JmsInstrumentationHelper.JMS_TIMESTAMP_HEADER;
diff --git a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsMessageListenerTest.java b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsMessageListenerTest.java
index d3d31d3d0e..63af1c1eb1 100644
--- a/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsMessageListenerTest.java
+++ b/apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/src/test/java/co/elastic/apm/agent/jms/JmsMessageListenerTest.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.bci.ElasticApmAgent;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.Tracer;
import co.elastic.apm.agent.tracer.GlobalTracer;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/KafkaConsumerInstrumentation.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/KafkaConsumerInstrumentation.java
index 93f62638f0..62af505ad4 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/KafkaConsumerInstrumentation.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/KafkaConsumerInstrumentation.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.kafka;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.Span;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/KafkaInstrumentationHelper.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/KafkaInstrumentationHelper.java
index 096c4c8495..4f65434211 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/KafkaInstrumentationHelper.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/KafkaInstrumentationHelper.java
@@ -18,7 +18,7 @@
*/
package co.elastic.apm.agent.kafka.helper;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.Span;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyClientIT.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyClientIT.java
index edf4b6537c..b11581c11d 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyClientIT.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-base-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyClientIT.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.context.Destination;
import co.elastic.apm.agent.impl.context.Message;
import co.elastic.apm.agent.impl.context.SpanContext;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/ConsumerRecordsIteratorWrapper.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/ConsumerRecordsIteratorWrapper.java
index 6231faa21e..dfa2b29392 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/ConsumerRecordsIteratorWrapper.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/main/java/co/elastic/apm/agent/kafka/helper/ConsumerRecordsIteratorWrapper.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.kafka.helper;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.common.util.WildcardMatcher;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT.java
index bf97de59a0..5d530111b8 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.TracerInternalApiUtils;
import co.elastic.apm.agent.impl.context.Destination;
import co.elastic.apm.agent.impl.context.Headers;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT_RealReporter.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT_RealReporter.java
index e4854f11ee..27029e47df 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT_RealReporter.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaIT_RealReporter.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.bci.ElasticApmAgent;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.configuration.SpyConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.ElasticApmTracerBuilder;
diff --git a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyBrokerIT.java b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyBrokerIT.java
index 665e10164d..309719dda4 100644
--- a/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyBrokerIT.java
+++ b/apm-agent-plugins/apm-kafka-plugin/apm-kafka-headers-plugin/src/test/java/co/elastic/apm/agent/kafka/KafkaLegacyBrokerIT.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.context.Message;
import co.elastic.apm.agent.impl.context.SpanContext;
import co.elastic.apm.agent.impl.context.TransactionContext;
diff --git a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/reformatting/Log4j2AppenderGetLayoutAdvice.java b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/reformatting/Log4j2AppenderGetLayoutAdvice.java
index a60475e6e5..97c46affc2 100644
--- a/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/reformatting/Log4j2AppenderGetLayoutAdvice.java
+++ b/apm-agent-plugins/apm-logging-plugin/apm-log4j2-plugin/src/main/java/co/elastic/apm/agent/log4j2/reformatting/Log4j2AppenderGetLayoutAdvice.java
@@ -30,7 +30,7 @@
* The Log4j2 {@link Appender} does not expose a {@code setLayout()} API that allows us to override logging events.
* However, it exposes an {@link Appender#getLayout()} API that is always used when events are logged.
* Therefore, by instrumenting this method and replacing the returned {@link Layout}, we can implement the
- * {@link co.elastic.apm.agent.logging.LogEcsReformatting#OVERRIDE OVERRIDE} use case.
+ * {@link co.elastic.apm.agent.tracer.configuration.LogEcsReformatting#OVERRIDE OVERRIDE} use case.
*/
public class Log4j2AppenderGetLayoutAdvice {
diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/main/java/co/elastic/apm/agent/loginstr/reformatting/AbstractEcsReformattingHelper.java b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/main/java/co/elastic/apm/agent/loginstr/reformatting/AbstractEcsReformattingHelper.java
index efeeef4d16..e506dbb263 100644
--- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/main/java/co/elastic/apm/agent/loginstr/reformatting/AbstractEcsReformattingHelper.java
+++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/main/java/co/elastic/apm/agent/loginstr/reformatting/AbstractEcsReformattingHelper.java
@@ -19,14 +19,11 @@
package co.elastic.apm.agent.loginstr.reformatting;
import co.elastic.apm.agent.collections.DetachedThreadLocalImpl;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.ServerlessConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.impl.metadata.Service;
import co.elastic.apm.agent.impl.metadata.ServiceFactory;
-import co.elastic.apm.agent.logging.LogEcsReformatting;
-import co.elastic.apm.agent.logging.LoggingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.LogEcsReformatting;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.report.Reporter;
import co.elastic.apm.agent.sdk.logging.Logger;
@@ -36,6 +33,9 @@
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap;
import co.elastic.apm.agent.tracer.Tracer;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.LoggingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.ServerlessConfiguration;
import javax.annotation.Nullable;
import java.util.List;
@@ -178,7 +178,7 @@ public AbstractEcsReformattingHelper() {
Service service = new ServiceFactory().createService(
tracer.getConfig(CoreConfiguration.class),
"",
- tracer.getConfig(ServerlessConfiguration.class)
+ tracer.getConfig(ServerlessConfiguration.class).runsOnAwsLambda()
);
globalServiceName = service.getName();
globalServiceVersion = service.getVersion();
diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/LoggingInstrumentationTest.java b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/LoggingInstrumentationTest.java
index 63e2ee3e9d..422fcc9b2e 100644
--- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/LoggingInstrumentationTest.java
+++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/LoggingInstrumentationTest.java
@@ -23,7 +23,7 @@
import co.elastic.apm.agent.impl.error.ErrorCapture;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.Transaction;
-import co.elastic.apm.agent.logging.LogEcsReformatting;
+import co.elastic.apm.agent.tracer.configuration.LogEcsReformatting;
import co.elastic.apm.agent.logging.LoggingConfiguration;
import co.elastic.apm.agent.logging.TestUtils;
import co.elastic.apm.agent.loginstr.correlation.AbstractLogCorrelationHelper;
diff --git a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/reformatting/UtilsTest.java b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/reformatting/UtilsTest.java
index bb059bf2d6..8cf473a39c 100644
--- a/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/reformatting/UtilsTest.java
+++ b/apm-agent-plugins/apm-logging-plugin/apm-logging-plugin-common/src/test/java/co/elastic/apm/agent/loginstr/reformatting/UtilsTest.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.loginstr.reformatting;
import co.elastic.apm.agent.AbstractInstrumentationTest;
-import co.elastic.apm.agent.logging.LogEcsReformatting;
+import co.elastic.apm.agent.tracer.configuration.LogEcsReformatting;
import co.elastic.apm.agent.logging.LoggingConfiguration;
import org.junit.jupiter.api.Test;
diff --git a/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMeterRegistrySerializer.java b/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMeterRegistrySerializer.java
index cbcfa73f88..4ceb0fb020 100644
--- a/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMeterRegistrySerializer.java
+++ b/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMeterRegistrySerializer.java
@@ -18,12 +18,12 @@
*/
package co.elastic.apm.agent.micrometer;
-import co.elastic.apm.agent.configuration.MetricsConfiguration;
import co.elastic.apm.agent.report.serialize.DslJsonSerializer;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakSet;
+import co.elastic.apm.agent.tracer.configuration.MetricsConfiguration;
import co.elastic.apm.agent.util.PrivilegedActionUtils;
import com.dslplatform.json.DslJson;
import com.dslplatform.json.JsonWriter;
diff --git a/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMetricsReporter.java b/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMetricsReporter.java
index f5063829dc..3379ce66cd 100644
--- a/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMetricsReporter.java
+++ b/apm-agent-plugins/apm-micrometer-plugin/src/main/java/co/elastic/apm/agent/micrometer/MicrometerMetricsReporter.java
@@ -18,16 +18,16 @@
*/
package co.elastic.apm.agent.micrometer;
-import co.elastic.apm.agent.configuration.MetricsConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.Tracer;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.report.Reporter;
-import co.elastic.apm.agent.report.ReporterConfiguration;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakMap;
+import co.elastic.apm.agent.tracer.configuration.MetricsConfiguration;
+import co.elastic.apm.agent.tracer.configuration.ReporterConfiguration;
import com.dslplatform.json.JsonWriter;
import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.MeterRegistry;
diff --git a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/src/main/java/co/elastic/apm/agent/mongodb/MongoConfiguration.java b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/src/main/java/co/elastic/apm/agent/mongodb/MongoConfiguration.java
index 92edad60b8..71068cbeac 100644
--- a/apm-agent-plugins/apm-mongodb/apm-mongodb-common/src/main/java/co/elastic/apm/agent/mongodb/MongoConfiguration.java
+++ b/apm-agent-plugins/apm-mongodb/apm-mongodb-common/src/main/java/co/elastic/apm/agent/mongodb/MongoConfiguration.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.mongodb;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
import org.stagemonitor.configuration.converter.ListValueConverter;
diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/ElasticOtelMetricsExporter.java b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/ElasticOtelMetricsExporter.java
index 4ebb61ca5c..481df9277e 100644
--- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/ElasticOtelMetricsExporter.java
+++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/ElasticOtelMetricsExporter.java
@@ -18,12 +18,12 @@
*/
package co.elastic.apm.agent.otelmetricsdk;
-import co.elastic.apm.agent.configuration.MetricsConfiguration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.report.Reporter;
-import co.elastic.apm.agent.report.ReporterConfiguration;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
+import co.elastic.apm.agent.tracer.configuration.MetricsConfiguration;
+import co.elastic.apm.agent.tracer.configuration.ReporterConfiguration;
import co.elastic.apm.agent.util.ExecutorUtils;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.metrics.Aggregation;
@@ -65,7 +65,7 @@ public static void createAndRegisterOn(SdkMeterProviderBuilder builder, ElasticA
}
private ElasticOtelMetricsExporter(Reporter reporter, MetricsConfiguration metricsConfig, ReporterConfiguration reporterConfig) {
- serializer = new OtelMetricSerializer(metricsConfig, reporterConfig);
+ serializer = new OtelMetricSerializer(reporterConfig);
this.reporter = reporter;
this.defaultHistogramAggregation = Aggregation.explicitBucketHistogram(metricsConfig.getCustomMetricsHistogramBoundaries());
}
diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/OtelMetricSerializer.java b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/OtelMetricSerializer.java
index 262cc00b8c..70b9040fb6 100644
--- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/OtelMetricSerializer.java
+++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-metricsdk-plugin/src/main/java/co/elastic/apm/agent/otelmetricsdk/OtelMetricSerializer.java
@@ -19,11 +19,10 @@
package co.elastic.apm.agent.otelmetricsdk;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.configuration.MetricsConfiguration;
import co.elastic.apm.agent.report.Reporter;
-import co.elastic.apm.agent.report.ReporterConfiguration;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
+import co.elastic.apm.agent.tracer.configuration.ReporterConfiguration;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
import io.opentelemetry.sdk.metrics.data.Data;
@@ -43,7 +42,6 @@
public class OtelMetricSerializer {
private static final Logger logger = LoggerFactory.getLogger(OtelMetricSerializer.class);
- private final MetricsConfiguration metricsConfig;
private final ReporterConfiguration reporterConfig;
private final StringBuilder serializationTempBuilder;
@@ -54,8 +52,7 @@ public class OtelMetricSerializer {
@Nullable
private InstrumentationScopeAndTimestamp lastCreatedInstrScopeAndTimestamp;
- public OtelMetricSerializer(MetricsConfiguration metricsConfig, ReporterConfiguration reporterConfig) {
- this.metricsConfig = metricsConfig;
+ public OtelMetricSerializer(ReporterConfiguration reporterConfig) {
this.reporterConfig = reporterConfig;
metricSets = new HashMap<>();
serializationTempBuilder = new StringBuilder();
diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/global/ElasticOpenTelemetryWithMetrics.java b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/global/ElasticOpenTelemetryWithMetrics.java
index 0cc04e5cf0..3014d4dfb9 100644
--- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/global/ElasticOpenTelemetryWithMetrics.java
+++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/global/ElasticOpenTelemetryWithMetrics.java
@@ -18,13 +18,13 @@
*/
package co.elastic.apm.agent.opentelemetry.global;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.embeddedotel.EmbeddedSdkManager;
import co.elastic.apm.agent.embeddedotel.proxy.ProxyMeterProvider;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.opentelemetry.metrics.bridge.OtelMetricsBridge;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.metrics.MeterProvider;
diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/co/elastic/apm/agent/opentelemetry/tracing/OTelSpanDiscardingTest.java b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/co/elastic/apm/agent/opentelemetry/tracing/OTelSpanDiscardingTest.java
index eaa7953a09..6ff7903bd0 100644
--- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/co/elastic/apm/agent/opentelemetry/tracing/OTelSpanDiscardingTest.java
+++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/co/elastic/apm/agent/opentelemetry/tracing/OTelSpanDiscardingTest.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.opentelemetry.tracing;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.context.Scope;
diff --git a/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/ProfilingConfiguration.java b/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/ProfilingConfiguration.java
index d6101c0d04..5ed9c9e9eb 100644
--- a/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/ProfilingConfiguration.java
+++ b/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/ProfilingConfiguration.java
@@ -18,11 +18,11 @@
*/
package co.elastic.apm.agent.profiler;
-import co.elastic.apm.agent.configuration.converter.ListValueConverter;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
-import co.elastic.apm.agent.configuration.converter.TimeDurationValueConverter;
+import co.elastic.apm.agent.tracer.configuration.ListValueConverter;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
diff --git a/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/SamplingProfiler.java b/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/SamplingProfiler.java
index 9f9ba66596..ab86f4792d 100644
--- a/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/SamplingProfiler.java
+++ b/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/SamplingProfiler.java
@@ -18,8 +18,8 @@
*/
package co.elastic.apm.agent.profiler;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.context.AbstractLifecycleListener;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.transaction.Span;
diff --git a/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/CallTreeTest.java b/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/CallTreeTest.java
index 1df9b469dc..b256ecdfdc 100644
--- a/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/CallTreeTest.java
+++ b/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/CallTreeTest.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.configuration.SpyConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.sampling.ConstantSampler;
import co.elastic.apm.agent.impl.transaction.AbstractSpan;
diff --git a/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/SamplingProfilerTest.java b/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/SamplingProfilerTest.java
index 6ae8b853e9..6204d4d03e 100644
--- a/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/SamplingProfilerTest.java
+++ b/apm-agent-plugins/apm-profiling-plugin/src/test/java/co/elastic/apm/agent/profiler/SamplingProfilerTest.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.configuration.SpyConfiguration;
-import co.elastic.apm.agent.configuration.converter.TimeDuration;
+import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.impl.ElasticApmTracer;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.Transaction;
diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/main/java/co/elastic/apm/agent/rabbitmq/AbstractBaseInstrumentation.java b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/main/java/co/elastic/apm/agent/rabbitmq/AbstractBaseInstrumentation.java
index 8f18fb46b4..a0100335db 100644
--- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/main/java/co/elastic/apm/agent/rabbitmq/AbstractBaseInstrumentation.java
+++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/main/java/co/elastic/apm/agent/rabbitmq/AbstractBaseInstrumentation.java
@@ -19,8 +19,8 @@
package co.elastic.apm.agent.rabbitmq;
import co.elastic.apm.agent.bci.TracerAwareInstrumentation;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.common.util.WildcardMatcher;
diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/test/java/co/elastic/apm/agent/rabbitmq/RabbitMQIT.java b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/test/java/co/elastic/apm/agent/rabbitmq/RabbitMQIT.java
index f60da332e5..b43f719046 100644
--- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/test/java/co/elastic/apm/agent/rabbitmq/RabbitMQIT.java
+++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/src/test/java/co/elastic/apm/agent/rabbitmq/RabbitMQIT.java
@@ -44,7 +44,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.context.Destination;
import co.elastic.apm.agent.impl.context.Headers;
import co.elastic.apm.agent.impl.context.Message;
diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/main/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchMessageListenerInstrumentation.java b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/main/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchMessageListenerInstrumentation.java
index 71b4ce5189..50e04c3aad 100644
--- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/main/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchMessageListenerInstrumentation.java
+++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/main/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchMessageListenerInstrumentation.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.rabbitmq;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.Tracer;
diff --git a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/test/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchIT.java b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/test/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchIT.java
index 9e29253ef7..776a7f786e 100644
--- a/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/test/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchIT.java
+++ b/apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-spring/src/test/java/co/elastic/apm/agent/rabbitmq/SpringAmqpBatchIT.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.rabbitmq;
-import co.elastic.apm.agent.configuration.MessagingConfiguration;
+import co.elastic.apm.agent.tracer.configuration.MessagingConfiguration;
import co.elastic.apm.agent.impl.transaction.Span;
import co.elastic.apm.agent.impl.transaction.TraceContext;
import co.elastic.apm.agent.impl.transaction.Transaction;
diff --git a/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletApiAdvice.java b/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletApiAdvice.java
index f3646443af..069228bb27 100644
--- a/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletApiAdvice.java
+++ b/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletApiAdvice.java
@@ -18,7 +18,6 @@
*/
package co.elastic.apm.agent.servlet;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.AbstractSpan;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.tracer.Outcome;
@@ -29,6 +28,7 @@
import co.elastic.apm.agent.sdk.weakconcurrent.DetachedThreadLocal;
import co.elastic.apm.agent.sdk.weakconcurrent.WeakConcurrent;
import co.elastic.apm.agent.servlet.adapter.ServletApiAdapter;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.metadata.Request;
import co.elastic.apm.agent.tracer.metadata.Response;
import co.elastic.apm.agent.util.TransactionNameUtils;
diff --git a/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletTransactionHelper.java b/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletTransactionHelper.java
index 2daa1fe5e5..a641b55519 100644
--- a/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletTransactionHelper.java
+++ b/apm-agent-plugins/apm-servlet-plugin/src/main/java/co/elastic/apm/agent/servlet/ServletTransactionHelper.java
@@ -18,10 +18,10 @@
*/
package co.elastic.apm.agent.servlet;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.httpserver.HttpServerHelper;
import co.elastic.apm.agent.impl.context.web.ResultUtil;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.common.util.WildcardMatcher;
@@ -42,9 +42,9 @@
import java.util.Map;
import java.util.Set;
-import static co.elastic.apm.agent.configuration.CoreConfiguration.EventType.OFF;
import static co.elastic.apm.agent.tracer.AbstractSpan.PRIORITY_DEFAULT;
import static co.elastic.apm.agent.tracer.AbstractSpan.PRIORITY_LOW_LEVEL_FRAMEWORK;
+import static co.elastic.apm.agent.tracer.configuration.CoreConfiguration.EventType.OFF;
public class ServletTransactionHelper {
diff --git a/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ApmFilterTest.java b/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ApmFilterTest.java
index a9d69b109e..9182631d7a 100644
--- a/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ApmFilterTest.java
+++ b/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ApmFilterTest.java
@@ -25,7 +25,7 @@
import co.elastic.apm.agent.impl.context.Response;
import co.elastic.apm.agent.impl.context.TransactionContext;
import co.elastic.apm.agent.impl.context.Url;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.AbstractSpan;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import org.junit.jupiter.api.BeforeEach;
diff --git a/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ServletTransactionHelperTest.java b/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ServletTransactionHelperTest.java
index e0c924a15a..e1d882937f 100644
--- a/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ServletTransactionHelperTest.java
+++ b/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/ServletTransactionHelperTest.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.MockTracer;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import co.elastic.apm.agent.util.TransactionNameUtils;
diff --git a/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/TestRequestBodyCapturing.java b/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/TestRequestBodyCapturing.java
index 0fe8332994..06efcfdc28 100644
--- a/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/TestRequestBodyCapturing.java
+++ b/apm-agent-plugins/apm-servlet-plugin/src/test/java/co/elastic/apm/agent/servlet/TestRequestBodyCapturing.java
@@ -20,7 +20,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.error.ErrorCapture;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.report.serialize.SerializationConstants;
diff --git a/apm-agent-plugins/apm-sparkjava-plugin/src/main/java/co/elastic/apm/agent/sparkjava/RoutesAdvice.java b/apm-agent-plugins/apm-sparkjava-plugin/src/main/java/co/elastic/apm/agent/sparkjava/RoutesAdvice.java
index 4870c88c9a..f3d9b1a965 100644
--- a/apm-agent-plugins/apm-sparkjava-plugin/src/main/java/co/elastic/apm/agent/sparkjava/RoutesAdvice.java
+++ b/apm-agent-plugins/apm-sparkjava-plugin/src/main/java/co/elastic/apm/agent/sparkjava/RoutesAdvice.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.sparkjava;
import co.elastic.apm.agent.tracer.GlobalTracer;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.util.TransactionNameUtils;
diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/main/java/co/elastic/apm/agent/springwebflux/WebfluxHelper.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/main/java/co/elastic/apm/agent/springwebflux/WebfluxHelper.java
index e802ae382f..f471542f3d 100644
--- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/main/java/co/elastic/apm/agent/springwebflux/WebfluxHelper.java
+++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/main/java/co/elastic/apm/agent/springwebflux/WebfluxHelper.java
@@ -18,11 +18,11 @@
*/
package co.elastic.apm.agent.springwebflux;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.httpserver.HttpServerHelper;
import co.elastic.apm.agent.tracer.GlobalTracer;
import co.elastic.apm.agent.impl.context.web.ResultUtil;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.sdk.logging.Logger;
diff --git a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/test/java/co/elastic/apm/agent/springwebflux/AbstractServerInstrumentationTest.java b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/test/java/co/elastic/apm/agent/springwebflux/AbstractServerInstrumentationTest.java
index d118cc44fb..def9c4f9d9 100644
--- a/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/test/java/co/elastic/apm/agent/springwebflux/AbstractServerInstrumentationTest.java
+++ b/apm-agent-plugins/apm-spring-webflux/apm-spring-webflux-spring5/src/test/java/co/elastic/apm/agent/springwebflux/AbstractServerInstrumentationTest.java
@@ -22,7 +22,7 @@
import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.impl.context.Request;
import co.elastic.apm.agent.impl.context.Url;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.error.ErrorCapture;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.common.util.WildcardMatcher;
diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/main/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentation.java b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/main/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentation.java
index 5db271195b..1e8f49c7e6 100644
--- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/main/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentation.java
+++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/main/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentation.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.springwebmvc;
import co.elastic.apm.agent.bci.TracerAwareInstrumentation;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.servlet.Constants;
import co.elastic.apm.agent.servlet.adapter.ServletRequestAdapter;
import co.elastic.apm.agent.tracer.GlobalTracer;
diff --git a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/test/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentationTest.java b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/test/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentationTest.java
index 604b08a98f..b2d167a248 100644
--- a/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/test/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentationTest.java
+++ b/apm-agent-plugins/apm-spring-webmvc/apm-spring-webmvc-spring5/src/test/java/co/elastic/apm/agent/springwebmvc/AbstractSpringTransactionNameInstrumentationTest.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.springwebmvc;
import co.elastic.apm.agent.AbstractInstrumentationTest;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.Transaction;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/apm-agent-plugins/apm-struts-plugin/src/main/java/co/elastic/apm/agent/struts/ExecuteOperationsAdvice.java b/apm-agent-plugins/apm-struts-plugin/src/main/java/co/elastic/apm/agent/struts/ExecuteOperationsAdvice.java
index bc805662bb..24456c19e1 100644
--- a/apm-agent-plugins/apm-struts-plugin/src/main/java/co/elastic/apm/agent/struts/ExecuteOperationsAdvice.java
+++ b/apm-agent-plugins/apm-struts-plugin/src/main/java/co/elastic/apm/agent/struts/ExecuteOperationsAdvice.java
@@ -19,7 +19,7 @@
package co.elastic.apm.agent.struts;
import co.elastic.apm.agent.tracer.GlobalTracer;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.util.TransactionNameUtils;
import net.bytebuddy.asm.Advice;
diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/src/main/java/co/elastic/apm/agent/vertx/AbstractHttpTransactionHelper.java b/apm-agent-plugins/apm-vertx/apm-vertx-common/src/main/java/co/elastic/apm/agent/vertx/AbstractHttpTransactionHelper.java
index a40d7d3329..73227fca8c 100644
--- a/apm-agent-plugins/apm-vertx/apm-vertx-common/src/main/java/co/elastic/apm/agent/vertx/AbstractHttpTransactionHelper.java
+++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/src/main/java/co/elastic/apm/agent/vertx/AbstractHttpTransactionHelper.java
@@ -18,9 +18,9 @@
*/
package co.elastic.apm.agent.vertx;
-import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.httpserver.HttpServerHelper;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.tracer.Tracer;
import co.elastic.apm.agent.tracer.Transaction;
import co.elastic.apm.agent.common.util.WildcardMatcher;
@@ -36,9 +36,9 @@
import java.util.Map;
import java.util.Set;
-import static co.elastic.apm.agent.configuration.CoreConfiguration.EventType.OFF;
import static co.elastic.apm.agent.tracer.AbstractSpan.PRIORITY_DEFAULT;
import static co.elastic.apm.agent.tracer.AbstractSpan.PRIORITY_LOW_LEVEL_FRAMEWORK;
+import static co.elastic.apm.agent.tracer.configuration.CoreConfiguration.EventType.OFF;
public abstract class AbstractHttpTransactionHelper {
private static final Logger logger = LoggerFactory.getLogger(AbstractHttpTransactionHelper.class);
diff --git a/apm-agent-plugins/apm-vertx/apm-vertx-common/src/test/java/co/elastic/apm/agent/vertx/helper/AbstractVertxWebTest.java b/apm-agent-plugins/apm-vertx/apm-vertx-common/src/test/java/co/elastic/apm/agent/vertx/helper/AbstractVertxWebTest.java
index a016bc9889..b666302773 100644
--- a/apm-agent-plugins/apm-vertx/apm-vertx-common/src/test/java/co/elastic/apm/agent/vertx/helper/AbstractVertxWebTest.java
+++ b/apm-agent-plugins/apm-vertx/apm-vertx-common/src/test/java/co/elastic/apm/agent/vertx/helper/AbstractVertxWebTest.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.AbstractInstrumentationTest;
import co.elastic.apm.agent.configuration.CoreConfiguration;
import co.elastic.apm.agent.impl.context.TransactionContext;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.AbstractSpan;
import io.vertx.ext.web.Router;
import io.vertx.junit5.VertxTestContext;
diff --git a/apm-agent-tracer/pom.xml b/apm-agent-tracer/pom.xml
index 0b827ddb2f..e276fd1698 100644
--- a/apm-agent-tracer/pom.xml
+++ b/apm-agent-tracer/pom.xml
@@ -14,6 +14,18 @@
${project.basedir}/..
+
+
+ org.stagemonitor
+ stagemonitor-configuration
+
+
+ ${project.groupId}
+ apm-agent-common
+ ${project.version}
+
+
+
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ByteValue.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ByteValue.java
similarity index 97%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ByteValue.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ByteValue.java
index 4a845e55fd..2ed6f22d10 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ByteValue.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ByteValue.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ByteValueConverter.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ByteValueConverter.java
similarity index 96%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ByteValueConverter.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ByteValueConverter.java
index 37d291fb47..414ba7cdde 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ByteValueConverter.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ByteValueConverter.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.converter.AbstractValueConverter;
diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/CoreConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/CoreConfiguration.java
new file mode 100644
index 0000000000..3d166ca595
--- /dev/null
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/CoreConfiguration.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package co.elastic.apm.agent.tracer.configuration;
+
+import co.elastic.apm.agent.common.util.WildcardMatcher;
+import co.elastic.apm.agent.configuration.ActivationMethod;
+
+import java.util.Collection;
+import java.util.List;
+
+public interface CoreConfiguration {
+
+ boolean isInstrumentationEnabled(String instrumentationGroupName);
+
+ boolean isInstrumentationEnabled(Collection instrumentationGroupNames);
+
+ boolean isCaptureHeaders();
+
+ EventType getCaptureBody();
+
+ boolean isEnablePublicApiAnnotationInheritance();
+
+ List getSanitizeFieldNames();
+
+ String getServiceName();
+
+ String getServiceVersion();
+
+ String getServiceNodeName();
+
+ String getEnvironment();
+
+ ActivationMethod getActivationMethod();
+
+ TimeDuration getSpanMinDuration();
+
+ enum EventType {
+ /**
+ * Request bodies will never be reported
+ */
+ OFF,
+ /**
+ * Request bodies will only be reported with errors
+ */
+ ERRORS,
+ /**
+ * Request bodies will only be reported with request transactions
+ */
+ TRANSACTIONS,
+ /**
+ * Request bodies will be reported with both errors and request transactions
+ */
+ ALL;
+
+ @Override
+ public String toString() {
+ return name().toLowerCase();
+ }
+ }
+}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ListValueConverter.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ListValueConverter.java
similarity index 97%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ListValueConverter.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ListValueConverter.java
index 625ac20d82..d2a4ae257a 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/ListValueConverter.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ListValueConverter.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.stagemonitor.configuration.converter.AbstractCollectionValueConverter;
import org.stagemonitor.configuration.converter.ValueConverter;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LogEcsReformatting.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/LogEcsReformatting.java
similarity index 94%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LogEcsReformatting.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/LogEcsReformatting.java
index 276d10e542..b9f9097c9b 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/logging/LogEcsReformatting.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/LogEcsReformatting.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.logging;
+package co.elastic.apm.agent.tracer.configuration;
public enum LogEcsReformatting {
OFF,
diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/LoggingConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/LoggingConfiguration.java
new file mode 100644
index 0000000000..de11cb615f
--- /dev/null
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/LoggingConfiguration.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package co.elastic.apm.agent.tracer.configuration;
+
+import co.elastic.apm.agent.common.util.WildcardMatcher;
+
+import javax.annotation.Nullable;
+import java.util.List;
+import java.util.Map;
+
+public interface LoggingConfiguration {
+ Map getLogEcsReformattingAdditionalFields();
+
+ LogEcsReformatting getLogEcsReformatting();
+
+ boolean getSendLogs();
+
+ @Nullable
+ String getLogEcsFormattingDestinationDir();
+
+ List getLogEcsFormatterAllowList();
+
+ long getLogFileSize();
+
+ long getDefaultLogFileSize();
+}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MessagingConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/MessagingConfiguration.java
similarity index 98%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MessagingConfiguration.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/MessagingConfiguration.java
index 49c0d7474e..40e6c077bd 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/MessagingConfiguration.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/MessagingConfiguration.java
@@ -16,10 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration;
+package co.elastic.apm.agent.tracer.configuration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
+import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
import org.stagemonitor.configuration.converter.ListValueConverter;
diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/MetricsConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/MetricsConfiguration.java
new file mode 100644
index 0000000000..a6a04282ad
--- /dev/null
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/MetricsConfiguration.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package co.elastic.apm.agent.tracer.configuration;
+
+import java.util.List;
+
+public interface MetricsConfiguration {
+
+ boolean isDedotCustomMetrics();
+
+ List getCustomMetricsHistogramBoundaries();
+}
diff --git a/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ReporterConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ReporterConfiguration.java
new file mode 100644
index 0000000000..c847d0d00a
--- /dev/null
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ReporterConfiguration.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package co.elastic.apm.agent.tracer.configuration;
+
+import co.elastic.apm.agent.common.util.WildcardMatcher;
+
+import java.util.List;
+
+public interface ReporterConfiguration {
+
+ long getMetricsIntervalMs();
+
+ List getDisableMetrics();
+}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/RoundedDoubleConverter.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/RoundedDoubleConverter.java
similarity index 97%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/RoundedDoubleConverter.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/RoundedDoubleConverter.java
index a4a404cbb8..8bf2a0b2d6 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/RoundedDoubleConverter.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/RoundedDoubleConverter.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.stagemonitor.configuration.converter.AbstractValueConverter;
import org.stagemonitor.configuration.converter.DoubleValueConverter;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/package-info.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ServerlessConfiguration.java
similarity index 80%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/package-info.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ServerlessConfiguration.java
index a8c02f6501..cb3a5e3fbe 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/package-info.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/ServerlessConfiguration.java
@@ -16,7 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-@NonnullApi
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
-import co.elastic.apm.agent.sdk.NonnullApi;
+public interface ServerlessConfiguration {
+
+ String getAwsLambdaHandler();
+
+ long getDataFlushTimeout();
+
+ boolean runsOnAwsLambda();
+}
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/TimeDuration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/TimeDuration.java
similarity index 98%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/TimeDuration.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/TimeDuration.java
index 9c91d2084c..9dceedc0d7 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/TimeDuration.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/TimeDuration.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/TimeDurationValueConverter.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/TimeDurationValueConverter.java
similarity index 98%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/TimeDurationValueConverter.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/TimeDurationValueConverter.java
index 3e184639bd..f2266fe958 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/converter/TimeDurationValueConverter.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/TimeDurationValueConverter.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.converter.AbstractValueConverter;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/web/WebConfiguration.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java
similarity index 98%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/web/WebConfiguration.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java
index 79993d9c7d..d7fdb00f91 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/impl/context/web/WebConfiguration.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WebConfiguration.java
@@ -16,10 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.impl.context.web;
+package co.elastic.apm.agent.tracer.configuration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
-import co.elastic.apm.agent.matcher.WildcardMatcherValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
import org.stagemonitor.configuration.converter.ListValueConverter;
diff --git a/apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/WildcardMatcherValueConverter.java b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WildcardMatcherValueConverter.java
similarity index 96%
rename from apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/WildcardMatcherValueConverter.java
rename to apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WildcardMatcherValueConverter.java
index 62ce9af254..16857b8ad4 100644
--- a/apm-agent-core/src/main/java/co/elastic/apm/agent/matcher/WildcardMatcherValueConverter.java
+++ b/apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/WildcardMatcherValueConverter.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.matcher;
+package co.elastic.apm.agent.tracer.configuration;
import co.elastic.apm.agent.common.util.WildcardMatcher;
import org.stagemonitor.configuration.converter.ValueConverter;
diff --git a/apm-agent-tracer/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider b/apm-agent-tracer/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider
new file mode 100644
index 0000000000..9d8115e360
--- /dev/null
+++ b/apm-agent-tracer/src/main/resources/META-INF/services/org.stagemonitor.configuration.ConfigurationOptionProvider
@@ -0,0 +1,2 @@
+co.elastic.apm.agent.tracer.configuration.MessagingConfiguration
+co.elastic.apm.agent.tracer.configuration.WebConfiguration
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/ByteValueTest.java b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/ByteValueTest.java
similarity index 97%
rename from apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/ByteValueTest.java
rename to apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/ByteValueTest.java
index 938101c9b0..9598aaca5c 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/ByteValueTest.java
+++ b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/ByteValueTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.junit.jupiter.api.Test;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/RoundedDoubleConverterTest.java b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/RoundedDoubleConverterTest.java
similarity index 98%
rename from apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/RoundedDoubleConverterTest.java
rename to apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/RoundedDoubleConverterTest.java
index 17c3919741..d0bb15b003 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/RoundedDoubleConverterTest.java
+++ b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/RoundedDoubleConverterTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/TimeDurationTest.java b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/TimeDurationTest.java
similarity index 98%
rename from apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/TimeDurationTest.java
rename to apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/TimeDurationTest.java
index 4b1f52abd7..790312d5e2 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/TimeDurationTest.java
+++ b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/TimeDurationTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.junit.jupiter.api.Test;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/TimeDurationValueConverterTest.java b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/TimeDurationValueConverterTest.java
similarity index 97%
rename from apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/TimeDurationValueConverterTest.java
rename to apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/TimeDurationValueConverterTest.java
index 482f084e59..f1c8149091 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/configuration/converter/TimeDurationValueConverterTest.java
+++ b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/TimeDurationValueConverterTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.configuration.converter;
+package co.elastic.apm.agent.tracer.configuration;
import org.junit.jupiter.api.Test;
diff --git a/apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/WildcardMatcherValueConverterTest.java b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/WildcardMatcherValueConverterTest.java
similarity index 96%
rename from apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/WildcardMatcherValueConverterTest.java
rename to apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/WildcardMatcherValueConverterTest.java
index 12101a03f5..20554657a4 100644
--- a/apm-agent-core/src/test/java/co/elastic/apm/agent/matcher/WildcardMatcherValueConverterTest.java
+++ b/apm-agent-tracer/src/test/java/co/elastic/apm/agent/tracer/configuration/WildcardMatcherValueConverterTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package co.elastic.apm.agent.matcher;
+package co.elastic.apm.agent.tracer.configuration;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/integration-tests/spring-boot-1-5/src/test/java/co/elastic/apm/spring/boot/SpringBoot1_5IT.java b/integration-tests/spring-boot-1-5/src/test/java/co/elastic/apm/spring/boot/SpringBoot1_5IT.java
index 495437b2fa..d30bf03dc8 100644
--- a/integration-tests/spring-boot-1-5/src/test/java/co/elastic/apm/spring/boot/SpringBoot1_5IT.java
+++ b/integration-tests/spring-boot-1-5/src/test/java/co/elastic/apm/spring/boot/SpringBoot1_5IT.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.bci.ElasticApmAgent;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.Transaction;
import net.bytebuddy.agent.ByteBuddyAgent;
import org.junit.After;
diff --git a/integration-tests/spring-boot-2/spring-boot-2-base/src/test/java/co/elastic/apm/spring/boot/AbstractSpringBootTest.java b/integration-tests/spring-boot-2/spring-boot-2-base/src/test/java/co/elastic/apm/spring/boot/AbstractSpringBootTest.java
index 3551cf1957..83f992d6d0 100644
--- a/integration-tests/spring-boot-2/spring-boot-2-base/src/test/java/co/elastic/apm/spring/boot/AbstractSpringBootTest.java
+++ b/integration-tests/spring-boot-2/spring-boot-2-base/src/test/java/co/elastic/apm/spring/boot/AbstractSpringBootTest.java
@@ -21,7 +21,7 @@
import co.elastic.apm.agent.MockReporter;
import co.elastic.apm.agent.MockTracer;
import co.elastic.apm.agent.bci.ElasticApmAgent;
-import co.elastic.apm.agent.impl.context.web.WebConfiguration;
+import co.elastic.apm.agent.tracer.configuration.WebConfiguration;
import co.elastic.apm.agent.impl.transaction.Transaction;
import co.elastic.apm.agent.report.ReporterConfiguration;
import co.elastic.apm.api.ElasticApm;
diff --git a/pom.xml b/pom.xml
index d12563ab91..d006fef443 100644
--- a/pom.xml
+++ b/pom.xml
@@ -644,6 +644,12 @@
test
+
+ org.stagemonitor
+ stagemonitor-configuration
+ 0.87.3
+
+
net.bytebuddy