fix: support jetty 8+, sparkjava 2.5+

This commit is contained in:
Jørgen Grøndal 2018-03-07 12:49:39 +01:00 committed by Tyler Benson
parent 8bfeae4a82
commit d0822c7458
7 changed files with 20 additions and 18 deletions

View File

@ -1,9 +1,8 @@
apply plugin: 'version-scan' apply plugin: 'version-scan'
versionScan { versionScan {
group = "javax.servlet" group = "org.eclipse.jetty.server"
module = 'javax.servlet-api' module = 'org.eclipse.jetty.server-Handler'
legacyModule = "servlet-api"
versions = "[3.0,)" versions = "[3.0,)"
verifyPresent = [ verifyPresent = [
"javax.servlet.AsyncEvent" : null, "javax.servlet.AsyncEvent" : null,
@ -27,8 +26,8 @@ dependencies {
compile deps.autoservice compile deps.autoservice
testCompile project(':dd-java-agent:testing') testCompile project(':dd-java-agent:testing')
testCompile group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.4.6.v20170531' testCompile group: 'org.eclipse.jetty', name: 'jetty-server', version: '8.0.0.v20110901'
testCompile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.4.6.v20170531' testCompile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '8.0.0.v20110901'
testCompile project(':dd-java-agent:instrumentation:okhttp-3') // used in the tests testCompile project(':dd-java-agent:instrumentation:okhttp-3') // used in the tests
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0' testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'

View File

@ -1,4 +1,4 @@
package datadog.trace.instrumentation.jetty9; package datadog.trace.instrumentation.jetty8;
import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses; import static datadog.trace.agent.tooling.ClassLoaderMatcher.classLoaderHasClasses;
import static io.opentracing.log.Fields.ERROR_OBJECT; import static io.opentracing.log.Fields.ERROR_OBJECT;
@ -33,7 +33,12 @@ public final class HandlerInstrumentation extends Instrumenter.Configurable {
public static final String SERVLET_OPERATION_NAME = "jetty.request"; public static final String SERVLET_OPERATION_NAME = "jetty.request";
public HandlerInstrumentation() { public HandlerInstrumentation() {
super("jetty", "jetty-9"); super("jetty", "jetty-8");
}
@Override
public boolean defaultEnabled() {
return false;
} }
@Override @Override
@ -69,6 +74,10 @@ public final class HandlerInstrumentation extends Instrumenter.Configurable {
@Advice.OnMethodEnter(suppress = Throwable.class) @Advice.OnMethodEnter(suppress = Throwable.class)
public static Scope startSpan( public static Scope startSpan(
@Advice.Argument(0) final String target, @Advice.Argument(2) final HttpServletRequest req) { @Advice.Argument(0) final String target, @Advice.Argument(2) final HttpServletRequest req) {
if (GlobalTracer.get().activeSpan() != null) {
// Tracing might already be applied. If so ignore this.
return null;
}
final SpanContext extractedContext = final SpanContext extractedContext =
GlobalTracer.get() GlobalTracer.get()

View File

@ -1,6 +1,6 @@
apply from: "${rootDir}/gradle/java.gradle" apply from: "${rootDir}/gradle/java.gradle"
if (JavaVersion.isJava8Compatible()) { if (JavaVersion.current().isJava8Compatible()) {
sourceSets { sourceSets {
test { test {
groovy { groovy {
@ -12,22 +12,16 @@ if (JavaVersion.isJava8Compatible()) {
} }
dependencies { dependencies {
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'
compile('io.opentracing.contrib:opentracing-web-servlet-filter:0.1.0') {
transitive = false
}
compile project(':dd-java-agent:agent-tooling') compile project(':dd-java-agent:agent-tooling')
compile deps.bytebuddy compile deps.bytebuddy
compile deps.opentracing compile deps.opentracing
compile deps.autoservice compile deps.autoservice
compile group: 'com.sparkjava', name: 'spark-core', version: '2.7.1' compile group: 'com.sparkjava', name: 'spark-core', version: '2.5'
testCompile project(':dd-java-agent:instrumentation:jetty-8')
testCompile project(':dd-java-agent:testing') testCompile project(':dd-java-agent:testing')
// Uses jetty-9 instrumentation for requests
testCompile project(':dd-java-agent:instrumentation:jetty-9')
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0' testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
} }

View File

@ -21,7 +21,7 @@ include ':dd-java-agent:instrumentation:java-concurrent:akka-testing'
include ':dd-java-agent:instrumentation:jboss-classloading' include ':dd-java-agent:instrumentation:jboss-classloading'
include ':dd-java-agent:instrumentation:jdbc' include ':dd-java-agent:instrumentation:jdbc'
include ':dd-java-agent:instrumentation:jedis-1.4' include ':dd-java-agent:instrumentation:jedis-1.4'
include ':dd-java-agent:instrumentation:jetty-9' include ':dd-java-agent:instrumentation:jetty-8'
include ':dd-java-agent:instrumentation:jms-1' include ':dd-java-agent:instrumentation:jms-1'
include ':dd-java-agent:instrumentation:jms-2' include ':dd-java-agent:instrumentation:jms-2'
include ':dd-java-agent:instrumentation:kafka-clients-0.11' include ':dd-java-agent:instrumentation:kafka-clients-0.11'
@ -35,7 +35,7 @@ include ':dd-java-agent:instrumentation:play-2.4:play-2.6-testing'
include ':dd-java-agent:instrumentation:ratpack-1.4' include ':dd-java-agent:instrumentation:ratpack-1.4'
include ':dd-java-agent:instrumentation:servlet-2' include ':dd-java-agent:instrumentation:servlet-2'
include ':dd-java-agent:instrumentation:servlet-3' include ':dd-java-agent:instrumentation:servlet-3'
include ':dd-java-agent:instrumentation:sparkjava-2.7' include ':dd-java-agent:instrumentation:sparkjava-2.5'
include ':dd-java-agent:instrumentation:spring-web' include ':dd-java-agent:instrumentation:spring-web'
include ':dd-java-agent:instrumentation:trace-annotation' include ':dd-java-agent:instrumentation:trace-annotation'