From 6755bcbbdf1e7b7388eb9f6369fe29a3f573dffa Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Thu, 30 Aug 2018 15:01:05 -0700 Subject: [PATCH] Enable and muzzle elasticsearch instrumentation --- .../elasticsearch-rest-5.gradle | 22 ++++++---------- .../Elasticsearch6RestClientTest.groovy | 4 --- ...asticsearch5RestClientInstrumentation.java | 5 ---- .../Elasticsearch5RestClientTest.groovy | 4 --- .../elasticsearch-transport-2.gradle | 16 ++++++------ ...search2TransportClientInstrumentation.java | 11 -------- .../Elasticsearch2NodeClientTest.groovy | 4 --- .../Elasticsearch2SpringTemplateTest.groovy | 4 --- .../Elasticsearch2TransportClientTest.groovy | 4 --- .../Elasticsearch2SpringRepositoryTest.groovy | 4 --- .../elasticsearch-transport-5.gradle | 25 ++++++++++--------- ...search5TransportClientInstrumentation.java | 5 ---- .../Elasticsearch5NodeClientTest.groovy | 4 --- .../Elasticsearch5TransportClientTest.groovy | 4 --- .../elasticsearch-transport-6.gradle | 25 ++++++++++--------- ...search6TransportClientInstrumentation.java | 11 -------- .../Elasticsearch6NodeClientTest.groovy | 4 --- .../Elasticsearch6TransportClientTest.groovy | 4 --- 18 files changed, 41 insertions(+), 119 deletions(-) diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle b/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle index de38c9c2bc..cc842bc0b5 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/elasticsearch-rest-5.gradle @@ -1,17 +1,11 @@ -//apply plugin: 'version-scan' -// -//versionScan { -// group = "org.elasticsearch.client" -//// module = "transport" -// module = "rest" -// versions = "[5.0,)" -// legacyGroup = "org.elasticsearch" -// legacyModule = "elasticsearch" -// scanDependencies = true -// verifyPresent = [ -// "org.elasticsearch.percolator.TransportMultiPercolateAction": null, -// ] -//} +muzzle { + pass { + group = "org.elasticsearch.client" + module = "rest" + versions = "[5.0,)" + assertInverse = true + } +} apply from: "${rootDir}/gradle/java.gradle" diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/latestDepTest/groovy/Elasticsearch6RestClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/latestDepTest/groovy/Elasticsearch6RestClientTest.groovy index 54d4777faf..ff629bab86 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/latestDepTest/groovy/Elasticsearch6RestClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/latestDepTest/groovy/Elasticsearch6RestClientTest.groovy @@ -20,10 +20,6 @@ import spock.lang.Shared import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces class Elasticsearch6RestClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - @Shared int httpPort @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java index a74339bf34..fb9d1ceff7 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5RestClientInstrumentation.java @@ -32,11 +32,6 @@ public class Elasticsearch5RestClientInstrumentation extends Instrumenter.Defaul super("elasticsearch", "elasticsearch-rest", "elasticsearch-rest-5"); } - @Override - protected boolean defaultEnabled() { - return false; - } - @Override public String[] helperClassNames() { return new String[] {"datadog.trace.instrumentation.elasticsearch5.RestResponseListener"}; diff --git a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/test/groovy/Elasticsearch5RestClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/test/groovy/Elasticsearch5RestClientTest.groovy index 085608c57a..d790c17c45 100644 --- a/dd-java-agent/instrumentation/elasticsearch-rest-5/src/test/groovy/Elasticsearch5RestClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-rest-5/src/test/groovy/Elasticsearch5RestClientTest.groovy @@ -22,10 +22,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING class Elasticsearch5RestClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - @Shared int httpPort @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/elasticsearch-transport-2.gradle b/dd-java-agent/instrumentation/elasticsearch-transport-2/elasticsearch-transport-2.gradle index bad09746b7..be88bc1d6c 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/elasticsearch-transport-2.gradle +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/elasticsearch-transport-2.gradle @@ -1,12 +1,10 @@ -apply plugin: 'version-scan' - -versionScan { - group = "org.elasticsearch" - module = "elasticsearch" - versions = "[2.0,3)" - verifyPresent = [ - "org.elasticsearch.plugins.SitePlugin": null, - ] +muzzle { + pass { + group = "org.elasticsearch" + module = "elasticsearch" + versions = "[2.0,3)" + assertInverse = true + } } apply from: "${rootDir}/gradle/java.gradle" diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java index c935c82b74..b41f027b5d 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/main/java/datadog/trace/instrumentation/elasticsearch2/Elasticsearch2TransportClientInstrumentation.java @@ -1,6 +1,5 @@ package datadog.trace.instrumentation.elasticsearch2; -import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; import static io.opentracing.log.Fields.ERROR_OBJECT; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -34,11 +33,6 @@ public class Elasticsearch2TransportClientInstrumentation extends Instrumenter.D super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-2"); } - @Override - protected boolean defaultEnabled() { - return false; - } - @Override public ElementMatcher typeMatcher() { // If we want to be more generic, we could instrument the interface instead: @@ -46,11 +40,6 @@ public class Elasticsearch2TransportClientInstrumentation extends Instrumenter.D return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient")); } - @Override - public ElementMatcher classLoaderMatcher() { - return classLoaderHasClasses("org.elasticsearch.plugins.SitePlugin"); - } - @Override public String[] helperClassNames() { return new String[] { diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2NodeClientTest.groovy index 1f4b746eda..43bfdc4dbe 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2NodeClientTest.groovy @@ -15,10 +15,6 @@ import static datadog.trace.agent.test.TestUtils.runUnderTrace import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces class Elasticsearch2NodeClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2SpringTemplateTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2SpringTemplateTest.groovy index c0db47eed5..9c2b87b9b2 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2SpringTemplateTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2SpringTemplateTest.groovy @@ -24,10 +24,6 @@ import java.util.concurrent.atomic.AtomicLong import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces class Elasticsearch2SpringTemplateTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2TransportClientTest.groovy index a65e22e43d..742216cc64 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/Elasticsearch2TransportClientTest.groovy @@ -18,10 +18,6 @@ import static datadog.trace.agent.test.TestUtils.runUnderTrace import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces class Elasticsearch2TransportClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy index 582d8cf4fe..87c29006c5 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-2/src/test/groovy/springdata/Elasticsearch2SpringRepositoryTest.groovy @@ -11,10 +11,6 @@ import spock.lang.Shared import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces class Elasticsearch2SpringRepositoryTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - @Shared ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config) diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-5/elasticsearch-transport-5.gradle b/dd-java-agent/instrumentation/elasticsearch-transport-5/elasticsearch-transport-5.gradle index b41a5568b9..19ceee6764 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-5/elasticsearch-transport-5.gradle +++ b/dd-java-agent/instrumentation/elasticsearch-transport-5/elasticsearch-transport-5.gradle @@ -1,15 +1,16 @@ -apply plugin: 'version-scan' - -versionScan { - group = "org.elasticsearch.client" - module = "transport" - versions = "[5.0,6)" - legacyGroup = "org.elasticsearch" - legacyModule = "elasticsearch" - scanDependencies = true - verifyPresent = [ - "org.elasticsearch.percolator.TransportMultiPercolateAction": null, - ] +muzzle { + pass { + group = "org.elasticsearch.client" + module = "transport" + versions = "[5.0.0,5.3.0)" + assertInverse = true + } + pass { + group = "org.elasticsearch" + module = "elasticsearch" + versions = "[5.0.0,5.3.0)" + assertInverse = true + } } apply from: "${rootDir}/gradle/java.gradle" diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java index 597753095e..1a1225e39a 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/main/java/datadog/trace/instrumentation/elasticsearch5/Elasticsearch5TransportClientInstrumentation.java @@ -34,11 +34,6 @@ public class Elasticsearch5TransportClientInstrumentation extends Instrumenter.D super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-5"); } - @Override - protected boolean defaultEnabled() { - return false; - } - @Override public ElementMatcher typeMatcher() { // If we want to be more generic, we could instrument the interface instead: diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5NodeClientTest.groovy index 9e8a9dc6f9..954a36ba08 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5NodeClientTest.groovy @@ -18,10 +18,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING class Elasticsearch5NodeClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5TransportClientTest.groovy index 432a13e76a..0c11210132 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-5/src/test/groovy/Elasticsearch5TransportClientTest.groovy @@ -22,10 +22,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING class Elasticsearch5TransportClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-6/elasticsearch-transport-6.gradle b/dd-java-agent/instrumentation/elasticsearch-transport-6/elasticsearch-transport-6.gradle index 982d3a42e8..f2a334f327 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-6/elasticsearch-transport-6.gradle +++ b/dd-java-agent/instrumentation/elasticsearch-transport-6/elasticsearch-transport-6.gradle @@ -1,15 +1,16 @@ -apply plugin: 'version-scan' - -versionScan { - group = "org.elasticsearch.client" - module = "transport" - versions = "[6.0,)" - legacyGroup = "org.elasticsearch" - legacyModule = "elasticsearch" - scanDependencies = true - verifyPresent = [ - "org.elasticsearch.client.RestClientBuilder\$2": null, - ] +muzzle { + pass { + group = "org.elasticsearch.client" + module = "transport" + versions = "[6.0.0,)" + assertInverse = true + } + pass { + group = "org.elasticsearch" + module = "elasticsearch" + versions = "[6.0.0,)" + assertInverse = true + } } apply from: "${rootDir}/gradle/java.gradle" diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java index 173084c3ef..8e2e82b497 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java +++ b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/main/java/datadog/trace/instrumentation/elasticsearch6/Elasticsearch6TransportClientInstrumentation.java @@ -1,6 +1,5 @@ package datadog.trace.instrumentation.elasticsearch6; -import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; import static io.opentracing.log.Fields.ERROR_OBJECT; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -38,11 +37,6 @@ public class Elasticsearch6TransportClientInstrumentation extends Instrumenter.D super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-6"); } - @Override - protected boolean defaultEnabled() { - return false; - } - @Override public ElementMatcher typeMatcher() { // If we want to be more generic, we could instrument the interface instead: @@ -50,11 +44,6 @@ public class Elasticsearch6TransportClientInstrumentation extends Instrumenter.D return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient")); } - @Override - public ElementMatcher classLoaderMatcher() { - return classLoaderHasClasses("org.elasticsearch.client.RestClientBuilder$2"); - } - @Override public String[] helperClassNames() { return new String[] { diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6NodeClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6NodeClientTest.groovy index 115b1f8a07..48c1375e6a 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6NodeClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6NodeClientTest.groovy @@ -17,10 +17,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING class Elasticsearch6NodeClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared diff --git a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6TransportClientTest.groovy b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6TransportClientTest.groovy index 5cbb70c9c6..655837519f 100644 --- a/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6TransportClientTest.groovy +++ b/dd-java-agent/instrumentation/elasticsearch-transport-6/src/test/groovy/Elasticsearch6TransportClientTest.groovy @@ -21,10 +21,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING class Elasticsearch6TransportClientTest extends AgentTestRunner { - static { - System.setProperty("dd.integration.elasticsearch.enabled", "true") - } - public static final long TIMEOUT = 10000; // 10 seconds @Shared