Merge pull request #471 from DataDog/ark/elastic-enable

Enable and muzzle elasticsearch instrumentation
This commit is contained in:
Andrew Kent 2018-09-04 20:50:32 -07:00 committed by GitHub
commit 222f25e124
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 41 additions and 119 deletions

View File

@ -1,17 +1,11 @@
//apply plugin: 'version-scan' muzzle {
// pass {
//versionScan { group = "org.elasticsearch.client"
// group = "org.elasticsearch.client" module = "rest"
//// module = "transport" versions = "[5.0,)"
// module = "rest" assertInverse = true
// versions = "[5.0,)" }
// legacyGroup = "org.elasticsearch" }
// legacyModule = "elasticsearch"
// scanDependencies = true
// verifyPresent = [
// "org.elasticsearch.percolator.TransportMultiPercolateAction": null,
// ]
//}
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -20,10 +20,6 @@ import spock.lang.Shared
import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
class Elasticsearch6RestClientTest extends AgentTestRunner { class Elasticsearch6RestClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
@Shared @Shared
int httpPort int httpPort
@Shared @Shared

View File

@ -32,11 +32,6 @@ public class Elasticsearch5RestClientInstrumentation extends Instrumenter.Defaul
super("elasticsearch", "elasticsearch-rest", "elasticsearch-rest-5"); super("elasticsearch", "elasticsearch-rest", "elasticsearch-rest-5");
} }
@Override
protected boolean defaultEnabled() {
return false;
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] {"datadog.trace.instrumentation.elasticsearch5.RestResponseListener"}; return new String[] {"datadog.trace.instrumentation.elasticsearch5.RestResponseListener"};

View File

@ -22,10 +22,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING
class Elasticsearch5RestClientTest extends AgentTestRunner { class Elasticsearch5RestClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
@Shared @Shared
int httpPort int httpPort
@Shared @Shared

View File

@ -1,12 +1,10 @@
apply plugin: 'version-scan' muzzle {
pass {
versionScan {
group = "org.elasticsearch" group = "org.elasticsearch"
module = "elasticsearch" module = "elasticsearch"
versions = "[2.0,3)" versions = "[2.0,3)"
verifyPresent = [ assertInverse = true
"org.elasticsearch.plugins.SitePlugin": null, }
]
} }
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -1,6 +1,5 @@
package datadog.trace.instrumentation.elasticsearch2; package datadog.trace.instrumentation.elasticsearch2;
import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses;
import static io.opentracing.log.Fields.ERROR_OBJECT; import static io.opentracing.log.Fields.ERROR_OBJECT;
import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
@ -34,11 +33,6 @@ public class Elasticsearch2TransportClientInstrumentation extends Instrumenter.D
super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-2"); super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-2");
} }
@Override
protected boolean defaultEnabled() {
return false;
}
@Override @Override
public ElementMatcher<TypeDescription> typeMatcher() { public ElementMatcher<TypeDescription> typeMatcher() {
// If we want to be more generic, we could instrument the interface instead: // 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")); return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient"));
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
return classLoaderHasClasses("org.elasticsearch.plugins.SitePlugin");
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] { return new String[] {

View File

@ -15,10 +15,6 @@ import static datadog.trace.agent.test.TestUtils.runUnderTrace
import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
class Elasticsearch2NodeClientTest extends AgentTestRunner { class Elasticsearch2NodeClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared

View File

@ -24,10 +24,6 @@ import java.util.concurrent.atomic.AtomicLong
import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
class Elasticsearch2SpringTemplateTest extends AgentTestRunner { class Elasticsearch2SpringTemplateTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared

View File

@ -18,10 +18,6 @@ import static datadog.trace.agent.test.TestUtils.runUnderTrace
import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
class Elasticsearch2TransportClientTest extends AgentTestRunner { class Elasticsearch2TransportClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared

View File

@ -11,10 +11,6 @@ import spock.lang.Shared
import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
class Elasticsearch2SpringRepositoryTest extends AgentTestRunner { class Elasticsearch2SpringRepositoryTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
@Shared @Shared
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config) ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config)

View File

@ -1,15 +1,16 @@
apply plugin: 'version-scan' muzzle {
pass {
versionScan {
group = "org.elasticsearch.client" group = "org.elasticsearch.client"
module = "transport" module = "transport"
versions = "[5.0,6)" versions = "[5.0.0,5.3.0)"
legacyGroup = "org.elasticsearch" assertInverse = true
legacyModule = "elasticsearch" }
scanDependencies = true pass {
verifyPresent = [ group = "org.elasticsearch"
"org.elasticsearch.percolator.TransportMultiPercolateAction": null, module = "elasticsearch"
] versions = "[5.0.0,5.3.0)"
assertInverse = true
}
} }
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -34,11 +34,6 @@ public class Elasticsearch5TransportClientInstrumentation extends Instrumenter.D
super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-5"); super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-5");
} }
@Override
protected boolean defaultEnabled() {
return false;
}
@Override @Override
public ElementMatcher<TypeDescription> typeMatcher() { public ElementMatcher<TypeDescription> typeMatcher() {
// If we want to be more generic, we could instrument the interface instead: // If we want to be more generic, we could instrument the interface instead:

View File

@ -18,10 +18,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING
class Elasticsearch5NodeClientTest extends AgentTestRunner { class Elasticsearch5NodeClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared

View File

@ -22,10 +22,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING
class Elasticsearch5TransportClientTest extends AgentTestRunner { class Elasticsearch5TransportClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared

View File

@ -1,15 +1,16 @@
apply plugin: 'version-scan' muzzle {
pass {
versionScan {
group = "org.elasticsearch.client" group = "org.elasticsearch.client"
module = "transport" module = "transport"
versions = "[6.0,)" versions = "[6.0.0,)"
legacyGroup = "org.elasticsearch" assertInverse = true
legacyModule = "elasticsearch" }
scanDependencies = true pass {
verifyPresent = [ group = "org.elasticsearch"
"org.elasticsearch.client.RestClientBuilder\$2": null, module = "elasticsearch"
] versions = "[6.0.0,)"
assertInverse = true
}
} }
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"

View File

@ -1,6 +1,5 @@
package datadog.trace.instrumentation.elasticsearch6; package datadog.trace.instrumentation.elasticsearch6;
import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses;
import static io.opentracing.log.Fields.ERROR_OBJECT; import static io.opentracing.log.Fields.ERROR_OBJECT;
import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isInterface;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
@ -38,11 +37,6 @@ public class Elasticsearch6TransportClientInstrumentation extends Instrumenter.D
super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-6"); super("elasticsearch", "elasticsearch-transport", "elasticsearch-transport-6");
} }
@Override
protected boolean defaultEnabled() {
return false;
}
@Override @Override
public ElementMatcher<TypeDescription> typeMatcher() { public ElementMatcher<TypeDescription> typeMatcher() {
// If we want to be more generic, we could instrument the interface instead: // 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")); return not(isInterface()).and(named("org.elasticsearch.client.support.AbstractClient"));
} }
@Override
public ElementMatcher<ClassLoader> classLoaderMatcher() {
return classLoaderHasClasses("org.elasticsearch.client.RestClientBuilder$2");
}
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
return new String[] { return new String[] {

View File

@ -17,10 +17,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING
class Elasticsearch6NodeClientTest extends AgentTestRunner { class Elasticsearch6NodeClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared

View File

@ -21,10 +21,6 @@ import static datadog.trace.agent.test.asserts.ListWriterAssert.assertTraces
import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING import static org.elasticsearch.cluster.ClusterName.CLUSTER_NAME_SETTING
class Elasticsearch6TransportClientTest extends AgentTestRunner { class Elasticsearch6TransportClientTest extends AgentTestRunner {
static {
System.setProperty("dd.integration.elasticsearch.enabled", "true")
}
public static final long TIMEOUT = 10000; // 10 seconds public static final long TIMEOUT = 10000; // 10 seconds
@Shared @Shared