diff --git a/dd-java-agent/src/main/java/com/datadoghq/trace/agent/InstrumentationChecker.java b/dd-java-agent/src/main/java/com/datadoghq/trace/agent/InstrumentationChecker.java index a75bdec78b..e39371645e 100644 --- a/dd-java-agent/src/main/java/com/datadoghq/trace/agent/InstrumentationChecker.java +++ b/dd-java-agent/src/main/java/com/datadoghq/trace/agent/InstrumentationChecker.java @@ -17,7 +17,7 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class InstrumentationChecker { - private static final String CONFIG_FILE = "dd-trace-supported-framework.yaml"; + private static final String CONFIG_FILE = "dd-trace-supported-framework"; private final Map>> rules; private final Map frameworks; diff --git a/dd-java-agent/src/test/java/com/datadoghq/trace/agent/InstrumentationCheckerTest.java b/dd-java-agent/src/test/java/com/datadoghq/trace/agent/InstrumentationCheckerTest.java index 3adc98a67a..213184107c 100644 --- a/dd-java-agent/src/test/java/com/datadoghq/trace/agent/InstrumentationCheckerTest.java +++ b/dd-java-agent/src/test/java/com/datadoghq/trace/agent/InstrumentationCheckerTest.java @@ -13,9 +13,9 @@ public class InstrumentationCheckerTest { @Before public void setup() { - Map>> rules = - FactoryUtils.loadConfigFromResource("supported-version-test.yaml", Map.class); - Map frameworks = + final Map>> rules = + FactoryUtils.loadConfigFromResource("supported-version-test", Map.class); + final Map frameworks = new HashMap() { { put("artifact-1", "1.2.3.1232"); @@ -30,7 +30,7 @@ public class InstrumentationCheckerTest { @Test public void testRules() throws Exception { - List rules = InstrumentationChecker.getUnsupportedRules(); + final List rules = InstrumentationChecker.getUnsupportedRules(); assertThat(rules.size()).isEqualTo(3); assertThat(rules) .containsExactlyInAnyOrder( diff --git a/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDDecoratorsFactory.java b/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDDecoratorsFactory.java index 01316e7cbe..630073e09e 100644 --- a/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDDecoratorsFactory.java +++ b/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDDecoratorsFactory.java @@ -11,7 +11,7 @@ public class DDDecoratorsFactory { public static String DECORATORS_PACKAGE = "com.datadoghq.trace.integration."; - public static final String CONFIG_PATH = "dd-trace-decorators.yaml"; + public static final String CONFIG_PATH = "dd-trace-decorators"; /** * Create decorators from configuration diff --git a/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDTracerFactory.java b/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDTracerFactory.java index ac5a24d52b..9c846e1493 100644 --- a/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDTracerFactory.java +++ b/dd-trace/src/main/java/com/datadoghq/trace/resolver/DDTracerFactory.java @@ -20,7 +20,7 @@ import lombok.extern.slf4j.Slf4j; public class DDTracerFactory { public static final String SYSTEM_PROPERTY_CONFIG_PATH = "dd.trace.configurationFile"; - public static final String CONFIG_PATH = "dd-trace.yaml"; + public static final String CONFIG_PATH = "dd-trace"; private static final String DD_AGENT_WRITER_TYPE = DDAgentWriter.class.getSimpleName(); private static final String LOGGING_WRITER_TYPE = LoggingWriter.class.getSimpleName(); diff --git a/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java b/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java index 8e0fbda1f4..7b90459d48 100644 --- a/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java +++ b/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java @@ -5,7 +5,6 @@ import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import java.io.File; import java.io.IOException; import java.net.URL; -import java.util.Enumeration; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -31,14 +30,25 @@ public class FactoryUtils { public static A loadConfigFromResource( final String resourceName, final Class targetClass) { - final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); A config = null; + + // Try loading both suffixes + if (!resourceName.endsWith(".yaml") && !resourceName.endsWith(".yml")) { + config = loadConfigFromResource(resourceName + ".yaml", targetClass); + if (config == null) { + config = loadConfigFromResource(resourceName + ".yml", targetClass); + } + if (config != null) { + return config; + } + } + try { - final Enumeration iter = classLoader.getResources(resourceName); - if (iter.hasMoreElements()) { - final URL url = iter.nextElement(); - log.info("Loading config from resource " + url); - config = objectMapper.readValue(url.openStream(), targetClass); + final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + final URL resource = classLoader.getResource(resourceName); + if (resource != null) { + log.info("Loading config from resource " + resource); + config = objectMapper.readValue(resource.openStream(), targetClass); } } catch (final IOException e) { log.warn("Could not load configuration file {}.", resourceName); diff --git a/dd-trace/src/test/java/com/datadoghq/trace/resolver/DDTracerFactoryTest.java b/dd-trace/src/test/java/com/datadoghq/trace/resolver/DDTracerFactoryTest.java index 4ef01fc9d4..3421318343 100644 --- a/dd-trace/src/test/java/com/datadoghq/trace/resolver/DDTracerFactoryTest.java +++ b/dd-trace/src/test/java/com/datadoghq/trace/resolver/DDTracerFactoryTest.java @@ -12,7 +12,7 @@ public class DDTracerFactoryTest { @Test public void testDefaults() throws Exception { final TracerConfig tracerConfig = - FactoryUtils.loadConfigFromResource("dd-trace-default.yaml", TracerConfig.class); + FactoryUtils.loadConfigFromResource("dd-trace-default", TracerConfig.class); assertThat(tracerConfig.getWriter()).isNotNull(); assertThat(tracerConfig.getSampler()).isNotNull(); @@ -27,7 +27,7 @@ public class DDTracerFactoryTest { @Test public void test() throws Exception { TracerConfig tracerConfig = - FactoryUtils.loadConfigFromResource("dd-trace-1.yaml", TracerConfig.class); + FactoryUtils.loadConfigFromResource("dd-trace-1", TracerConfig.class); assertThat(tracerConfig.getWriter()).isNotNull(); assertThat(tracerConfig.getSampler()).isNotNull(); @@ -38,7 +38,7 @@ public class DDTracerFactoryTest { assertThat(tracerConfig.getSampler().getType()).isEqualTo(AllSampler.class.getSimpleName()); assertThat(tracerConfig.getSampler().getRate()).isNull(); - tracerConfig = FactoryUtils.loadConfigFromResource("dd-trace-2.yaml", TracerConfig.class); + tracerConfig = FactoryUtils.loadConfigFromResource("dd-trace-2", TracerConfig.class); assertThat(tracerConfig.getWriter()).isNotNull(); assertThat(tracerConfig.getDefaultServiceName()).isEqualTo("java-app"); assertThat(tracerConfig.getWriter().getHost("localhost")).isEqualTo("localhost"); diff --git a/dd-trace/src/test/resources/dd-trace-2.yaml b/dd-trace/src/test/resources/dd-trace-2.yml similarity index 100% rename from dd-trace/src/test/resources/dd-trace-2.yaml rename to dd-trace/src/test/resources/dd-trace-2.yml diff --git a/dd-trace/src/test/resources/dd-trace-default.yaml b/dd-trace/src/test/resources/dd-trace-default.yml similarity index 100% rename from dd-trace/src/test/resources/dd-trace-default.yaml rename to dd-trace/src/test/resources/dd-trace-default.yml