From c789ae5daa2bf80ea062086fd3f381c1e127ee46 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Wed, 30 Apr 2025 13:17:39 -0700 Subject: [PATCH 01/13] ServiceTalk async context propagation instrumentation. Support 0.42.56+ --- buildSrc/src/main/groovy/MuzzlePlugin.groovy | 1 + .../instrumentation/servicetalk/build.gradle | 38 +--- .../servicetalk/gradle.lockfile | 184 ------------------ .../servicetalk-0.42.0/build.gradle | 36 ++++ .../ContextMapInstrumentation.java | 4 +- .../ContextPreservingInstrumentation.java | 86 ++++++++ .../ServiceTalkInstrumentation.java} | 4 +- ...ontextPreservingInstrumentationTest.groovy | 1 - .../servicetalk-0.42.56/build.gradle | 37 ++++ .../ContextPreservingInstrumentation.java | 7 +- ...ltAsyncContextProviderInstrumentation.java | 39 ++++ .../ServiceTalkInstrumentation.java | 19 ++ ...ontextPreservingInstrumentationTest.groovy | 157 +++++++++++++++ settings.gradle | 2 + 14 files changed, 388 insertions(+), 227 deletions(-) delete mode 100644 dd-java-agent/instrumentation/servicetalk/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle rename dd-java-agent/instrumentation/servicetalk/{ => servicetalk-0.42.0}/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java (89%) create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java rename dd-java-agent/instrumentation/servicetalk/{src/main/java/datadog/trace/instrumentation/servicetalk/AbstractAsyncContextInstrumentation.java => servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java} (76%) rename dd-java-agent/instrumentation/servicetalk/{ => servicetalk-0.42.0}/src/test/groovy/ContextPreservingInstrumentationTest.groovy (99%) create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle rename dd-java-agent/instrumentation/servicetalk/{ => servicetalk-0.42.56}/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java (88%) create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy diff --git a/buildSrc/src/main/groovy/MuzzlePlugin.groovy b/buildSrc/src/main/groovy/MuzzlePlugin.groovy index 81a3bb28c2d..ad137f14f6b 100644 --- a/buildSrc/src/main/groovy/MuzzlePlugin.groovy +++ b/buildSrc/src/main/groovy/MuzzlePlugin.groovy @@ -59,6 +59,7 @@ class MuzzlePlugin implements Plugin { RemoteRepository restlet = new RemoteRepository.Builder("restlet", "default", "https://maven.restlet.talend.com/").build() // Only needed for play-2.3 RemoteRepository typesafe = new RemoteRepository.Builder("typesafe", "default", "https://repo.typesafe.com/typesafe/maven-releases/").build() + //TODO add local repo or use docker to muzzle check and test version when deprecated `saved` will be dropped MUZZLE_REPOS = Collections.unmodifiableList(Arrays.asList(central, restlet, typesafe)) } diff --git a/dd-java-agent/instrumentation/servicetalk/build.gradle b/dd-java-agent/instrumentation/servicetalk/build.gradle index 2bc090b9caf..4cf3bfa4996 100644 --- a/dd-java-agent/instrumentation/servicetalk/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/build.gradle @@ -1,39 +1,3 @@ -plugins { - id 'java-test-fixtures' -} - -muzzle { - pass { - group = 'io.servicetalk' - module = 'servicetalk-concurrent-api' - // prev versions missing ContextMap - versions = '[0.41.12,)' - assertInverse = true - } - pass { - group = 'io.servicetalk' - module = 'servicetalk-context-api' - versions = '[0.1.0,)' - assertInverse = true - } -} - -ext { - minJavaVersionForTests = JavaVersion.VERSION_11 -} - apply from: "$rootDir/gradle/java.gradle" -addTestSuiteForDir('latestDepTest', 'test') - -dependencies { - compileOnly group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.45' - compileOnly group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.45' - - testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.0' - testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.0' - - latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '+' - latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '+' -} - +//TODO generate lock files diff --git a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile deleted file mode 100644 index 95269fcd1e4..00000000000 --- a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile +++ /dev/null @@ -1,184 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath -com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.fasterxml.jackson:jackson-bom:2.15.4=compileClasspath -com.github.javaparser:javaparser-core:3.25.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.spotbugs:spotbugs-annotations:4.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs -com.github.spotbugs:spotbugs-annotations:4.8.3=compileClasspath -com.github.spotbugs:spotbugs:4.7.3=spotbugs -com.github.stefanbirkner:system-rules:1.19.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath -com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.auto:auto-common:0.10=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath -com.google.code.gson:gson:2.9.1=spotbugs -com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.protobuf:protobuf-bom:3.25.1=compileClasspath -com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.thoughtworks.qdox:qdox:1.12.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -commons-codec:commons-codec:1.15=spotbugs -commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -de.thetaphi:forbiddenapis:3.8=compileClasspath -info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath -io.netty:netty-bom:4.1.111.Final=compileClasspath -io.servicetalk:servicetalk-annotations:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-annotations:0.42.55=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-bom:0.42.45=compileClasspath -io.servicetalk:servicetalk-buffer-api:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-buffer-api:0.42.55=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.0=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.45=compileClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.55=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.55=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent:0.42.0=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent:0.42.45=compileClasspath -io.servicetalk:servicetalk-concurrent:0.42.55=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-context-api:0.42.0=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-context-api:0.42.45=compileClasspath -io.servicetalk:servicetalk-context-api:0.42.55=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-dependencies:0.42.45=compileClasspath -io.servicetalk:servicetalk-utils-internal:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-utils-internal:0.42.55=latestDepTestRuntimeClasspath -io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -jaxen:jaxen:1.2.0=spotbugs -jline:jline:2.14.6=latestDepTestRuntimeClasspath,testRuntimeClasspath -junit:junit-dep:4.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -junit:junit:4.13.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.14.18=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.jcip:jcip-annotations:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath -net.sf.saxon:Saxon-HE:11.4=spotbugs -org.apache.ant:ant-antlr:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.apache.ant:ant-antlr:1.9.15=codenarc -org.apache.ant:ant-junit:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.apache.ant:ant-junit:1.9.15=codenarc -org.apache.ant:ant-launcher:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.apache.ant:ant:1.10.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apache.bcel:bcel:6.5.0=spotbugs -org.apache.commons:commons-lang3:3.12.0=spotbugs -org.apache.commons:commons-text:1.10.0=spotbugs -org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs -org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs -org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs -org.apache.logging.log4j:log4j-api:2.19.0=spotbugs -org.apache.logging.log4j:log4j-bom:2.22.1=compileClasspath -org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,testCompileClasspath -org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-ant:2.5.14=codenarc -org.codehaus.groovy:groovy-ant:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-console:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-datetime:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc -org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-jmx:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-json:2.5.14=codenarc -org.codehaus.groovy:groovy-json:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-macro:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-nio:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-servlet:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-sql:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-swing:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-templates:2.5.14=codenarc -org.codehaus.groovy:groovy-templates:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-test:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-testng:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-xml:2.5.14=codenarc -org.codehaus.groovy:groovy-xml:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy:2.5.14=codenarc -org.codehaus.groovy:groovy:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -org.codenarc:CodeNarc:2.2.0=codenarc -org.dom4j:dom4j:2.1.3=spotbugs -org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.glassfish.jersey:jersey-bom:2.37=compileClasspath -org.gmetrics:GMetrics:1.1=codenarc -org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -org.jctools:jctools-core:4.0.3=latestDepTestRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-runner:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit:junit-bom:5.9.1=spotbugs -org.junit:junit-bom:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-analysis:9.4=spotbugs -org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath -org.ow2.asm:asm-commons:9.4=spotbugs -org.ow2.asm:asm-commons:9.7.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath -org.ow2.asm:asm-tree:9.4=spotbugs -org.ow2.asm:asm-tree:9.7.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-util:9.4=spotbugs -org.ow2.asm:asm:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath -org.ow2.asm:asm:9.4=spotbugs -org.ow2.asm:asm:9.7.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:slf4j-api:1.7.30=instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath -org.slf4j:slf4j-api:1.7.32=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=compileClasspath,latestDepTestRuntimeClasspath -org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j -org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j -org.spockframework:spock-core:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.spockframework:spock-junit4:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.xmlresolver:xmlresolver:4.4.3=spotbugs -org.yaml:snakeyaml:2.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -xml-apis:xml-apis:1.4.01=spotbugs -empty=main_java11AnnotationProcessor,spotbugsPlugins,testFixturesAnnotationProcessor,testFixturesCompileClasspath diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle new file mode 100644 index 00000000000..d43950a3e01 --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle @@ -0,0 +1,36 @@ +plugins { + id 'java-test-fixtures' +} + +muzzle { + pass { + group = 'io.servicetalk' + module = 'servicetalk-concurrent-api' + versions = '[0.42.0,0.42.56)' + } + fail { + group = 'io.servicetalk' + module = 'servicetalk-concurrent-api' + versions = '[0.42.56,]' //TODO what's missing in 0.42.56, so I can add a muzzleCheck + } +} + +ext { + minJavaVersionForTests = JavaVersion.VERSION_11 +} + +apply from: "$rootDir/gradle/java.gradle" + +addTestSuiteForDir('latestDepTest', 'test') + +dependencies { + compileOnly group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.0' + compileOnly group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.0' + + testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.0' + testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.0' + + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' +} + diff --git a/dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java similarity index 89% rename from dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java index 656f3e40c4a..cd3dd4c6d87 100644 --- a/dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java @@ -16,7 +16,7 @@ import net.bytebuddy.asm.Advice; @AutoService(InstrumenterModule.class) -public class ContextMapInstrumentation extends AbstractAsyncContextInstrumentation +public class ContextMapInstrumentation extends ServiceTalkInstrumentation implements Instrumenter.ForSingleType, Instrumenter.HasMethodAdvice { @Override @@ -40,6 +40,8 @@ public void methodAdvice(MethodTransformer transformer) { private static final class Construct { @Advice.OnMethodExit(suppress = Throwable.class) public static void exit(@Advice.This ContextMap contextMap) { + // Capture an active span on ST context copy to support versions prior to 0.42.56 that did not + // have captureContext InstrumentationContext.get(ContextMap.class, AgentSpan.class) .put(contextMap, AgentTracer.activeSpan()); } diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java new file mode 100644 index 00000000000..9506eded04a --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java @@ -0,0 +1,86 @@ +package datadog.trace.instrumentation.servicetalk; + +import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; + +import com.google.auto.service.AutoService; +import datadog.trace.agent.tooling.Instrumenter; +import datadog.trace.agent.tooling.InstrumenterModule; +import datadog.trace.bootstrap.InstrumentationContext; +import datadog.trace.bootstrap.instrumentation.api.AgentScope; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import io.servicetalk.context.api.ContextMap; +import net.bytebuddy.asm.Advice; + +@AutoService(InstrumenterModule.class) +public class ContextPreservingInstrumentation extends ServiceTalkInstrumentation + implements Instrumenter.ForKnownTypes, Instrumenter.HasMethodAdvice { + + @Override + public String[] knownMatchingTypes() { + return new String[] { + "io.servicetalk.concurrent.api.ContextPreservingBiConsumer", + "io.servicetalk.concurrent.api.ContextPreservingBiFunction", + "io.servicetalk.concurrent.api.ContextPreservingCallable", + "io.servicetalk.concurrent.api.ContextPreservingCancellable", + "io.servicetalk.concurrent.api.ContextPreservingCompletableSubscriber", + "io.servicetalk.concurrent.api.ContextPreservingConsumer", + "io.servicetalk.concurrent.api.ContextPreservingFunction", + "io.servicetalk.concurrent.api.ContextPreservingRunnable", + "io.servicetalk.concurrent.api.ContextPreservingSingleSubscriber", + "io.servicetalk.concurrent.api.ContextPreservingSubscriber", + "io.servicetalk.concurrent.api.ContextPreservingSubscription", + }; + } + + @Override + public void methodAdvice(MethodTransformer transformer) { + transformer.applyAdvice( + namedOneOf( + "accept", + "apply", + "call", + "cancel", + "onComplete", + "onError", + "onSuccess", + "request", + "onNext", + "onSubscribe", + "run"), + getClass().getName() + "$Wrapper"); + } + + public static final class Wrapper { + @Advice.OnMethodEnter(suppress = Throwable.class) + public static AgentScope enter(@Advice.FieldValue("saved") final ContextMap contextMap) { + AgentSpan parent = + InstrumentationContext.get(ContextMap.class, AgentSpan.class).get(contextMap); + if (parent != null) { + return AgentTracer.activateSpan(parent); + } + return null; + } + + @Advice.OnMethodExit(suppress = Throwable.class) + public static void exit(@Advice.Enter final AgentScope agentScope) { + if (agentScope != null) { + agentScope.close(); + } + } + + // TODO muzzle to be applied only for older versions < 0.42.56 + public static void muzzleCheck() { + // TODO how to disable this instrumentation for 0.42.56+ + // because otherwise it fails to instrument b/o missing "saved" fields + // Also ContextMapInstrumentation shouldn't be applied to 0.42.56+ + + // We need a class or method that has been deleted in 0.42.56 but was in 0.42.0+ + // But there is no such thing comparing 0.42.55 and 0.42.56 of servicetalk-concurrent-api + + // Can't check io.servicetalk.concurrent.api.ContextPreservingCallable.saved + // b/o the class is package private and the field is private + + } + } +} diff --git a/dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/AbstractAsyncContextInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java similarity index 76% rename from dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/AbstractAsyncContextInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java index d4f96264555..41197593aae 100644 --- a/dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/AbstractAsyncContextInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java @@ -5,9 +5,9 @@ import java.util.Collections; import java.util.Map; -public abstract class AbstractAsyncContextInstrumentation extends InstrumenterModule.Tracing { +public abstract class ServiceTalkInstrumentation extends InstrumenterModule.Tracing { - public AbstractAsyncContextInstrumentation() { + public ServiceTalkInstrumentation() { super("servicetalk", "servicetalk-concurrent"); } diff --git a/dd-java-agent/instrumentation/servicetalk/src/test/groovy/ContextPreservingInstrumentationTest.groovy b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy similarity index 99% rename from dd-java-agent/instrumentation/servicetalk/src/test/groovy/ContextPreservingInstrumentationTest.groovy rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy index a7ee492dc2a..cc0897037e5 100644 --- a/dd-java-agent/instrumentation/servicetalk/src/test/groovy/ContextPreservingInstrumentationTest.groovy +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy @@ -3,7 +3,6 @@ import datadog.trace.bootstrap.instrumentation.api.AgentScope import datadog.trace.bootstrap.instrumentation.api.AgentTracer import io.servicetalk.concurrent.api.AsyncContext import io.servicetalk.context.api.ContextMap - import java.util.concurrent.ExecutorService import java.util.concurrent.Executors diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle new file mode 100644 index 00000000000..9088da8dbf7 --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle @@ -0,0 +1,37 @@ +plugins { + id 'java-test-fixtures' +} + +muzzle { + fail { + group = 'io.servicetalk' + module = 'servicetalk-concurrent-api' + versions = '[,0.42.56)' + } + pass { + group = 'io.servicetalk' + module = 'servicetalk-concurrent-api' + // 0.42.56 is the earliest version where CapturedContext is public + versions = '[0.42.56,]' + } +} + +ext { + minJavaVersionForTests = JavaVersion.VERSION_11 +} + +apply from: "$rootDir/gradle/java.gradle" + +addTestSuiteForDir('latestDepTest', 'test') + +dependencies { + compileOnly group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' + compileOnly group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' + + testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' + testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' + + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '+' + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '+' +} + diff --git a/dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java similarity index 88% rename from dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java index afa5836b7ad..37a5f9c4628 100644 --- a/dd-java-agent/instrumentation/servicetalk/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java @@ -9,11 +9,12 @@ import datadog.trace.bootstrap.instrumentation.api.AgentScope; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import io.servicetalk.concurrent.api.CapturedContext; import io.servicetalk.context.api.ContextMap; import net.bytebuddy.asm.Advice; @AutoService(InstrumenterModule.class) -public class ContextPreservingInstrumentation extends AbstractAsyncContextInstrumentation +public class ContextPreservingInstrumentation extends ServiceTalkInstrumentation implements Instrumenter.ForKnownTypes, Instrumenter.HasMethodAdvice { @Override @@ -53,7 +54,9 @@ public void methodAdvice(MethodTransformer transformer) { public static final class Wrapper { @Advice.OnMethodEnter(suppress = Throwable.class) - public static AgentScope enter(@Advice.FieldValue("saved") final ContextMap contextMap) { + public static AgentScope enter( + @Advice.FieldValue("capturedContext") final CapturedContext capturedContext) { + ContextMap contextMap = capturedContext.captured(); AgentSpan parent = InstrumentationContext.get(ContextMap.class, AgentSpan.class).get(contextMap); if (parent != null) { diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java new file mode 100644 index 00000000000..97a3e789982 --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java @@ -0,0 +1,39 @@ +package datadog.trace.instrumentation.servicetalk; + +import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; + +import com.google.auto.service.AutoService; +import datadog.trace.agent.tooling.Instrumenter; +import datadog.trace.agent.tooling.InstrumenterModule; +import datadog.trace.bootstrap.InstrumentationContext; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import io.servicetalk.concurrent.api.CapturedContext; +import io.servicetalk.context.api.ContextMap; +import net.bytebuddy.asm.Advice; + +@AutoService(InstrumenterModule.class) +public class DefaultAsyncContextProviderInstrumentation extends ServiceTalkInstrumentation + implements Instrumenter.ForSingleType, Instrumenter.HasMethodAdvice { + + @Override + public String instrumentedType() { + return "io.servicetalk.concurrent.api.DefaultAsyncContextProvider"; + } + + @Override + public void methodAdvice(MethodTransformer transformer) { + transformer.applyAdvice( + namedOneOf("captureContext", "captureContextCopy"), + getClass().getName() + "$CaptureContextAdvice"); + } + + private static final class CaptureContextAdvice { + @Advice.OnMethodExit(suppress = Throwable.class) + public static void exit(@Advice.Return CapturedContext capturedContext) { + ContextMap contextMap = capturedContext.captured(); + InstrumentationContext.get(ContextMap.class, AgentSpan.class) + .put(contextMap, AgentTracer.activeSpan()); + } + } +} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java new file mode 100644 index 00000000000..41197593aae --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java @@ -0,0 +1,19 @@ +package datadog.trace.instrumentation.servicetalk; + +import datadog.trace.agent.tooling.InstrumenterModule; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import java.util.Collections; +import java.util.Map; + +public abstract class ServiceTalkInstrumentation extends InstrumenterModule.Tracing { + + public ServiceTalkInstrumentation() { + super("servicetalk", "servicetalk-concurrent"); + } + + @Override + public Map contextStore() { + return Collections.singletonMap( + "io.servicetalk.context.api.ContextMap", AgentSpan.class.getName()); + } +} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy new file mode 100644 index 00000000000..e3f3b2dfdda --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy @@ -0,0 +1,157 @@ +import datadog.trace.agent.test.AgentTestRunner +import datadog.trace.bootstrap.instrumentation.api.AgentScope +import datadog.trace.bootstrap.instrumentation.api.AgentTracer +import io.servicetalk.concurrent.api.AsyncContext +import io.servicetalk.concurrent.api.CapturedContext + +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors + +import static datadog.trace.agent.test.utils.TraceUtils.runUnderTrace + +class ContextPreservingInstrumentationTest extends AgentTestRunner { + + def "wrapBiConsumer"() { + setup: + def parent = startParentContext() + def wrapped = + asyncContextProvider.wrapBiConsumer({ t, u -> childSpan() }, parent.capturedContext) + + when: + runInSeparateThread{ wrapped.accept(null, null) } + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + + def "wrapBiFunction"() { + setup: + def parent = startParentContext() + def wrapped = + asyncContextProvider.wrapBiFunction({ t, u -> childSpan() }, parent.capturedContext) + + when: + runInSeparateThread{ wrapped.apply(null, null) } + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + + def "wrapCallable"() { + setup: + def parent = startParentContext() + def wrapped = + asyncContextProvider.wrapCallable({ -> childSpan() }, parent.capturedContext) + + when: + runInSeparateThread{ wrapped.call() } + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + + def "wrapConsumer"() { + setup: + def parent = startParentContext() + def wrapped = + asyncContextProvider.wrapConsumer({ t -> childSpan() }, parent.capturedContext) + + when: + runInSeparateThread{ wrapped.accept(null) } + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + + def "wrapFunction"() { + setup: + def parent = startParentContext() + def wrapped = + asyncContextProvider.wrapFunction({ t -> childSpan() }, parent.capturedContext) + + when: + runInSeparateThread { wrapped.apply(null) } + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + + def "wrapRunnable"() { + setup: + def parent = startParentContext() + def wrapped = + asyncContextProvider.wrapRunnable({ -> childSpan() }, parent.capturedContext) + + when: + runInSeparateThread(wrapped) + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + + ExecutorService executor = Executors.newFixedThreadPool(5) + def asyncContextProvider = AsyncContext.provider + + def cleanup() { + if (executor != null) { + executor.shutdown() + } + } + + private runInSeparateThread(Runnable runnable) { + executor.submit(runnable).get() + } + + /** + * Captures async context. Also uses continuation to prevent the span from being reported until it is released. + */ + private class ParentContext { + final CapturedContext capturedContext = asyncContextProvider.captureContext() + // final CapturedContext capturedContext = asyncContextProvider.captureContextCopy() //TODO + final AgentScope.Continuation spanContinuation = AgentTracer.captureActiveSpan() + + def releaseParentSpan() { + spanContinuation.cancel() + } + } + + private startParentContext() { + runUnderTrace("parent") { + new ParentContext() + } + } + + /** + * Asserts a parent-child trace meaning that async context propagation works correctly. + */ + private void assertParentChildTrace() { + assertTraces(1) { + trace(2) { + sortSpansByStart() + span { + operationName "parent" + tags { + defaultTags() + } + } + span { + childOf span(0) + operationName "child" + tags { + defaultTags() + } + } + } + } + } + + private childSpan() { + AgentTracer.startSpan("test", "child").finish() + } +} diff --git a/settings.gradle b/settings.gradle index 615cd539a17..0bd8e553bb8 100644 --- a/settings.gradle +++ b/settings.gradle @@ -468,6 +468,8 @@ include ':dd-java-agent:instrumentation:scala-promise:scala-promise-2.13' include ':dd-java-agent:instrumentation:scalatest' include ':dd-java-agent:instrumentation:selenium' include ':dd-java-agent:instrumentation:servicetalk' +include ':dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.0' +include ':dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.56' include ':dd-java-agent:instrumentation:servlet' include ':dd-java-agent:instrumentation:servlet-common' include ':dd-java-agent:instrumentation:servlet:request-2' From a9729e4cd135e9ef53b02ea268329cdd2585d07e Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Tue, 13 May 2025 16:07:31 -0700 Subject: [PATCH 02/13] Disable ServiceTalk instrumentation for versions prior to 0.42.56 to prevent instrumentation errors. --- .../servicetalk-0.42.0/build.gradle | 9 ++---- .../ContextMapInstrumentation.java | 2 +- .../ContextPreservingInstrumentation.java | 16 +--------- .../ServiceTalkInstrumentation.java | 30 +++++++++++++++++++ .../ServiceTalkInstrumentation.java | 19 ------------ .../ContextPreservingInstrumentation.java | 2 +- ...ltAsyncContextProviderInstrumentation.java | 2 +- .../ServiceTalkInstrumentation.java | 2 +- 8 files changed, 37 insertions(+), 45 deletions(-) rename dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/{servicetalk => servicetalk0_42_0}/ContextMapInstrumentation.java (97%) rename dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/{servicetalk => servicetalk0_42_0}/ContextPreservingInstrumentation.java (78%) create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java delete mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java rename dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/{servicetalk => servicetalk0_42_56}/ContextPreservingInstrumentation.java (97%) rename dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/{servicetalk => servicetalk0_42_56}/DefaultAsyncContextProviderInstrumentation.java (96%) rename dd-java-agent/instrumentation/servicetalk/{servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk => servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56}/ServiceTalkInstrumentation.java (90%) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle index d43950a3e01..f9288fba2e6 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle @@ -8,11 +8,6 @@ muzzle { module = 'servicetalk-concurrent-api' versions = '[0.42.0,0.42.56)' } - fail { - group = 'io.servicetalk' - module = 'servicetalk-concurrent-api' - versions = '[0.42.56,]' //TODO what's missing in 0.42.56, so I can add a muzzleCheck - } } ext { @@ -27,8 +22,8 @@ dependencies { compileOnly group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.0' compileOnly group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.0' - testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.0' - testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.0' + testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.55' + testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.55' latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ContextMapInstrumentation.java similarity index 97% rename from dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ContextMapInstrumentation.java index cd3dd4c6d87..72f9fd3d43b 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextMapInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ContextMapInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.servicetalk; +package datadog.trace.instrumentation.servicetalk0_42_0; import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.isConstructor; diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ContextPreservingInstrumentation.java similarity index 78% rename from dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ContextPreservingInstrumentation.java index 9506eded04a..874df60efb5 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ContextPreservingInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.servicetalk; +package datadog.trace.instrumentation.servicetalk0_42_0; import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; @@ -68,19 +68,5 @@ public static void exit(@Advice.Enter final AgentScope agentScope) { agentScope.close(); } } - - // TODO muzzle to be applied only for older versions < 0.42.56 - public static void muzzleCheck() { - // TODO how to disable this instrumentation for 0.42.56+ - // because otherwise it fails to instrument b/o missing "saved" fields - // Also ContextMapInstrumentation shouldn't be applied to 0.42.56+ - - // We need a class or method that has been deleted in 0.42.56 but was in 0.42.0+ - // But there is no such thing comparing 0.42.55 and 0.42.56 of servicetalk-concurrent-api - - // Can't check io.servicetalk.concurrent.api.ContextPreservingCallable.saved - // b/o the class is package private and the field is private - - } } } diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java new file mode 100644 index 00000000000..478e0acfaf7 --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java @@ -0,0 +1,30 @@ +package datadog.trace.instrumentation.servicetalk0_42_0; + +import datadog.trace.agent.tooling.InstrumenterModule; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import java.util.Collections; +import java.util.Map; + +public abstract class ServiceTalkInstrumentation extends InstrumenterModule.Tracing { + + public ServiceTalkInstrumentation() { + super("servicetalk", "servicetalk-concurrent"); + } + + @Override + public Map contextStore() { + return Collections.singletonMap( + "io.servicetalk.context.api.ContextMap", AgentSpan.class.getName()); + } + + @Override + protected boolean defaultEnabled() { + // Instrumentation for ServiceTalk prior to 0.42.56 is disabled by default to avoid the missing + // private field "saved" error. + // This can't be addressed by a muzzle check because there is no decent public change between + // 0.42.55 and 0.42.56. + // For versions prior to 0.42.56, this instrumentation must be explicitly enabled with + // 'DD_INTEGRATION_SERVICETALK_ENABLED=true'. + return false; + } +} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java deleted file mode 100644 index 41197593aae..00000000000 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java +++ /dev/null @@ -1,19 +0,0 @@ -package datadog.trace.instrumentation.servicetalk; - -import datadog.trace.agent.tooling.InstrumenterModule; -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import java.util.Collections; -import java.util.Map; - -public abstract class ServiceTalkInstrumentation extends InstrumenterModule.Tracing { - - public ServiceTalkInstrumentation() { - super("servicetalk", "servicetalk-concurrent"); - } - - @Override - public Map contextStore() { - return Collections.singletonMap( - "io.servicetalk.context.api.ContextMap", AgentSpan.class.getName()); - } -} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java similarity index 97% rename from dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java index 37a5f9c4628..554944fc593 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/ContextPreservingInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.servicetalk; +package datadog.trace.instrumentation.servicetalk0_42_56; import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java similarity index 96% rename from dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java index 97a3e789982..c870d7fb4e3 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk/DefaultAsyncContextProviderInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.servicetalk; +package datadog.trace.instrumentation.servicetalk0_42_56; import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java similarity index 90% rename from dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java rename to dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java index 41197593aae..c6f70f15113 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk/ServiceTalkInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.servicetalk; +package datadog.trace.instrumentation.servicetalk0_42_56; import datadog.trace.agent.tooling.InstrumenterModule; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; From 9a61436d3dae72f61ed696eb3af91a45d378d312 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Wed, 14 May 2025 14:12:54 -0700 Subject: [PATCH 03/13] Automatically disable the old ServiceTalk instrumentation for versions prior to v0.42.56 --- .../servicetalk/servicetalk-0.42.0/build.gradle | 5 +++++ .../ServiceTalkInstrumentation.java | 17 +++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle index f9288fba2e6..b7726e85b84 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle @@ -8,6 +8,11 @@ muzzle { module = 'servicetalk-concurrent-api' versions = '[0.42.0,0.42.56)' } + fail { + group = 'io.servicetalk' + module = 'servicetalk-concurrent-api' + versions = '[0.42.56,]' + } } ext { diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java index 478e0acfaf7..ef0f1eec0a3 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java @@ -1,6 +1,7 @@ package datadog.trace.instrumentation.servicetalk0_42_0; import datadog.trace.agent.tooling.InstrumenterModule; +import datadog.trace.agent.tooling.muzzle.Reference; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import java.util.Collections; import java.util.Map; @@ -18,13 +19,13 @@ public Map contextStore() { } @Override - protected boolean defaultEnabled() { - // Instrumentation for ServiceTalk prior to 0.42.56 is disabled by default to avoid the missing - // private field "saved" error. - // This can't be addressed by a muzzle check because there is no decent public change between - // 0.42.55 and 0.42.56. - // For versions prior to 0.42.56, this instrumentation must be explicitly enabled with - // 'DD_INTEGRATION_SERVICETALK_ENABLED=true'. - return false; + public Reference[] additionalMuzzleReferences() { + return new Reference[] { + // This check prevents older instrumentation from being applied to ServiceTalk v0.42.56+ + new Reference.Builder("io.servicetalk.concurrent.api.DelegatingExecutor") + // This field existed was removed in v0.42.56 + .withField(new String[0], 0, "delegate", "Lio/servicetalk/concurrent/api/Executor;") + .build(), + }; } } From 7494d8cb1d4ba6246179834e6b447677e8e68cc1 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Wed, 14 May 2025 16:57:01 -0700 Subject: [PATCH 04/13] Use CapturedContextProviders API --- .../instrumentation/servicetalk/build.gradle | 2 - .../ServiceTalkInstrumentation.java | 2 +- ...pturedContextProvidersInstrumentation.java | 47 ++++++++++++ .../ContextPreservingInstrumentation.java | 75 ------------------- .../DatadogCapturedContextProvider.java | 46 ++++++++++++ ...ltAsyncContextProviderInstrumentation.java | 39 ---------- .../ServiceTalkInstrumentation.java | 19 ----- 7 files changed, 94 insertions(+), 136 deletions(-) create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java delete mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DatadogCapturedContextProvider.java delete mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java delete mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java diff --git a/dd-java-agent/instrumentation/servicetalk/build.gradle b/dd-java-agent/instrumentation/servicetalk/build.gradle index 4cf3bfa4996..5e69c67bd78 100644 --- a/dd-java-agent/instrumentation/servicetalk/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/build.gradle @@ -1,3 +1 @@ apply from: "$rootDir/gradle/java.gradle" - -//TODO generate lock files diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java index ef0f1eec0a3..ee0a4ef2273 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/main/java/datadog/trace/instrumentation/servicetalk0_42_0/ServiceTalkInstrumentation.java @@ -23,7 +23,7 @@ public Reference[] additionalMuzzleReferences() { return new Reference[] { // This check prevents older instrumentation from being applied to ServiceTalk v0.42.56+ new Reference.Builder("io.servicetalk.concurrent.api.DelegatingExecutor") - // This field existed was removed in v0.42.56 + // Removed in v0.42.56 .withField(new String[0], 0, "delegate", "Lio/servicetalk/concurrent/api/Executor;") .build(), }; diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java new file mode 100644 index 00000000000..bfb94a5942c --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java @@ -0,0 +1,47 @@ +package datadog.trace.instrumentation.servicetalk0_42_56; + +import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named; + +import com.google.auto.service.AutoService; +import datadog.trace.agent.tooling.Instrumenter; +import datadog.trace.agent.tooling.InstrumenterModule; +import io.servicetalk.concurrent.api.CapturedContextProvider; +import java.util.ArrayList; +import java.util.List; +import net.bytebuddy.asm.Advice; + +@AutoService(InstrumenterModule.class) +public class CapturedContextProvidersInstrumentation extends InstrumenterModule.Tracing + implements Instrumenter.ForSingleType, Instrumenter.HasMethodAdvice { + + public CapturedContextProvidersInstrumentation() { + super("servicetalk", "servicetalk-concurrent"); + } + + @Override + public String instrumentedType() { + return "io.servicetalk.concurrent.api.CapturedContextProviders"; + } + + @Override + public void methodAdvice(MethodTransformer transformer) { + transformer.applyAdvice(named("loadProviders"), getClass().getName() + "$LoadProvidersAdvice"); + } + + private static final class LoadProvidersAdvice { + @Advice.OnMethodExit(suppress = Throwable.class) + public static void exit(@Advice.Return(readOnly = false) java.util.List loadedProviders) { + List providers = new ArrayList<>(loadedProviders.size() + 1); + providers.addAll(loadedProviders); + providers.add(new DatadogCapturedContextProvider()); + loadedProviders = providers; + } + } + + @Override + public String[] helperClassNames() { + return new String[] { + packageName + ".DatadogCapturedContextProvider", + }; + } +} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java deleted file mode 100644 index 554944fc593..00000000000 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ContextPreservingInstrumentation.java +++ /dev/null @@ -1,75 +0,0 @@ -package datadog.trace.instrumentation.servicetalk0_42_56; - -import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; - -import com.google.auto.service.AutoService; -import datadog.trace.agent.tooling.Instrumenter; -import datadog.trace.agent.tooling.InstrumenterModule; -import datadog.trace.bootstrap.InstrumentationContext; -import datadog.trace.bootstrap.instrumentation.api.AgentScope; -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import io.servicetalk.concurrent.api.CapturedContext; -import io.servicetalk.context.api.ContextMap; -import net.bytebuddy.asm.Advice; - -@AutoService(InstrumenterModule.class) -public class ContextPreservingInstrumentation extends ServiceTalkInstrumentation - implements Instrumenter.ForKnownTypes, Instrumenter.HasMethodAdvice { - - @Override - public String[] knownMatchingTypes() { - return new String[] { - "io.servicetalk.concurrent.api.ContextPreservingBiConsumer", - "io.servicetalk.concurrent.api.ContextPreservingBiFunction", - "io.servicetalk.concurrent.api.ContextPreservingCallable", - "io.servicetalk.concurrent.api.ContextPreservingCancellable", - "io.servicetalk.concurrent.api.ContextPreservingCompletableSubscriber", - "io.servicetalk.concurrent.api.ContextPreservingConsumer", - "io.servicetalk.concurrent.api.ContextPreservingFunction", - "io.servicetalk.concurrent.api.ContextPreservingRunnable", - "io.servicetalk.concurrent.api.ContextPreservingSingleSubscriber", - "io.servicetalk.concurrent.api.ContextPreservingSubscriber", - "io.servicetalk.concurrent.api.ContextPreservingSubscription", - }; - } - - @Override - public void methodAdvice(MethodTransformer transformer) { - transformer.applyAdvice( - namedOneOf( - "accept", - "apply", - "call", - "cancel", - "onComplete", - "onError", - "onSuccess", - "request", - "onNext", - "onSubscribe", - "run"), - getClass().getName() + "$Wrapper"); - } - - public static final class Wrapper { - @Advice.OnMethodEnter(suppress = Throwable.class) - public static AgentScope enter( - @Advice.FieldValue("capturedContext") final CapturedContext capturedContext) { - ContextMap contextMap = capturedContext.captured(); - AgentSpan parent = - InstrumentationContext.get(ContextMap.class, AgentSpan.class).get(contextMap); - if (parent != null) { - return AgentTracer.activateSpan(parent); - } - return null; - } - - @Advice.OnMethodExit(suppress = Throwable.class) - public static void exit(@Advice.Enter final AgentScope agentScope) { - if (agentScope != null) { - agentScope.close(); - } - } - } -} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DatadogCapturedContextProvider.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DatadogCapturedContextProvider.java new file mode 100644 index 00000000000..76eadc3a43f --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DatadogCapturedContextProvider.java @@ -0,0 +1,46 @@ +package datadog.trace.instrumentation.servicetalk0_42_56; + +import datadog.trace.bootstrap.instrumentation.api.AgentScope; +import datadog.trace.bootstrap.instrumentation.api.AgentSpan; +import datadog.trace.bootstrap.instrumentation.api.AgentTracer; +import io.servicetalk.concurrent.api.CapturedContext; +import io.servicetalk.concurrent.api.CapturedContextProvider; +import io.servicetalk.concurrent.api.Scope; +import io.servicetalk.context.api.ContextMap; + +public final class DatadogCapturedContextProvider implements CapturedContextProvider { + @Override + public CapturedContext captureContext(CapturedContext underlying) { + return captureContextCopy(underlying); + } + + @Override + public CapturedContext captureContextCopy(CapturedContext underlying) { + return new WithDatadogCapturedContext(AgentTracer.activeSpan(), underlying); + } + + private static final class WithDatadogCapturedContext implements CapturedContext { + private final AgentSpan agentSpan; + private final CapturedContext underlying; + + public WithDatadogCapturedContext(AgentSpan agentSpan, CapturedContext underlying) { + this.agentSpan = agentSpan; + this.underlying = underlying; + } + + @Override + public ContextMap captured() { + return underlying.captured(); + } + + @Override + public Scope attachContext() { + Scope stScope = underlying.attachContext(); + AgentScope ddScope = AgentTracer.activateSpan(agentSpan); + return () -> { + ddScope.close(); + stScope.close(); + }; + } + } +} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java deleted file mode 100644 index c870d7fb4e3..00000000000 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/DefaultAsyncContextProviderInstrumentation.java +++ /dev/null @@ -1,39 +0,0 @@ -package datadog.trace.instrumentation.servicetalk0_42_56; - -import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf; - -import com.google.auto.service.AutoService; -import datadog.trace.agent.tooling.Instrumenter; -import datadog.trace.agent.tooling.InstrumenterModule; -import datadog.trace.bootstrap.InstrumentationContext; -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import io.servicetalk.concurrent.api.CapturedContext; -import io.servicetalk.context.api.ContextMap; -import net.bytebuddy.asm.Advice; - -@AutoService(InstrumenterModule.class) -public class DefaultAsyncContextProviderInstrumentation extends ServiceTalkInstrumentation - implements Instrumenter.ForSingleType, Instrumenter.HasMethodAdvice { - - @Override - public String instrumentedType() { - return "io.servicetalk.concurrent.api.DefaultAsyncContextProvider"; - } - - @Override - public void methodAdvice(MethodTransformer transformer) { - transformer.applyAdvice( - namedOneOf("captureContext", "captureContextCopy"), - getClass().getName() + "$CaptureContextAdvice"); - } - - private static final class CaptureContextAdvice { - @Advice.OnMethodExit(suppress = Throwable.class) - public static void exit(@Advice.Return CapturedContext capturedContext) { - ContextMap contextMap = capturedContext.captured(); - InstrumentationContext.get(ContextMap.class, AgentSpan.class) - .put(contextMap, AgentTracer.activeSpan()); - } - } -} diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java deleted file mode 100644 index c6f70f15113..00000000000 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/ServiceTalkInstrumentation.java +++ /dev/null @@ -1,19 +0,0 @@ -package datadog.trace.instrumentation.servicetalk0_42_56; - -import datadog.trace.agent.tooling.InstrumenterModule; -import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import java.util.Collections; -import java.util.Map; - -public abstract class ServiceTalkInstrumentation extends InstrumenterModule.Tracing { - - public ServiceTalkInstrumentation() { - super("servicetalk", "servicetalk-concurrent"); - } - - @Override - public Map contextStore() { - return Collections.singletonMap( - "io.servicetalk.context.api.ContextMap", AgentSpan.class.getName()); - } -} From 2ea0cec2846e5c490884e2e4e87abb3462d5b6cf Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Wed, 14 May 2025 16:59:41 -0700 Subject: [PATCH 05/13] Update servicetalk lockfiles --- .../servicetalk/gradle.lockfile | 264 ++++++++---------- .../servicetalk-0.42.0/gradle.lockfile | 176 ++++++++++++ .../servicetalk-0.42.56/gradle.lockfile | 173 ++++++++++++ 3 files changed, 468 insertions(+), 145 deletions(-) create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile create mode 100644 dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile diff --git a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile index 604a76b9449..b50cccf2e6d 100644 --- a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile +++ b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile @@ -1,93 +1,70 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath -com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.fasterxml.jackson:jackson-bom:2.15.4=compileClasspath -com.github.javaparser:javaparser-core:3.25.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.spotbugs:spotbugs-annotations:4.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs -com.github.spotbugs:spotbugs-annotations:4.8.3=compileClasspath com.github.spotbugs:spotbugs:4.7.3=spotbugs -com.github.stefanbirkner:system-rules:1.19.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath -com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.auto:auto-common:0.10=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.github.stefanbirkner:system-rules:1.19.0=testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.code.gson:gson:2.9.1=spotbugs -com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.protobuf:protobuf-bom:3.25.1=compileClasspath -com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.thoughtworks.qdox:qdox:1.12.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=testRuntimeClasspath commons-codec:commons-codec:1.15=spotbugs -commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath de.thetaphi:forbiddenapis:3.8=compileClasspath -info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath -io.netty:netty-bom:4.1.111.Final=compileClasspath -io.servicetalk:servicetalk-annotations:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-annotations:0.42.56=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-bom:0.42.45=compileClasspath -io.servicetalk:servicetalk-buffer-api:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-buffer-api:0.42.56=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.0=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.45=compileClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.56=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent:0.42.0=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent:0.42.45=compileClasspath -io.servicetalk:servicetalk-concurrent:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-context-api:0.42.0=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-context-api:0.42.45=compileClasspath -io.servicetalk:servicetalk-context-api:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-dependencies:0.42.45=compileClasspath -io.servicetalk:servicetalk-utils-internal:0.42.0=testRuntimeClasspath -io.servicetalk:servicetalk-utils-internal:0.42.56=latestDepTestRuntimeClasspath -io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +info.picocli:picocli:4.6.3=testRuntimeClasspath +io.sqreen:libsqreen:13.0.1=testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs -jline:jline:2.14.6=latestDepTestRuntimeClasspath,testRuntimeClasspath -junit:junit-dep:4.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -junit:junit:4.13.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.15.11=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.15.11=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.jcip:jcip-annotations:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +jline:jline:2.14.6=testRuntimeClasspath +junit:junit-dep:4.11=testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.5=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.5=compileClasspath,instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath net.sf.saxon:Saxon-HE:11.4=spotbugs -org.apache.ant:ant-antlr:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.10.12=testRuntimeClasspath org.apache.ant:ant-antlr:1.9.15=codenarc -org.apache.ant:ant-junit:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.10.12=testRuntimeClasspath org.apache.ant:ant-junit:1.9.15=codenarc -org.apache.ant:ant-launcher:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.apache.ant:ant:1.10.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.ant:ant-launcher:1.10.12=testRuntimeClasspath +org.apache.ant:ant:1.10.12=testCompileClasspath,testRuntimeClasspath org.apache.bcel:bcel:6.5.0=spotbugs org.apache.commons:commons-lang3:3.12.0=spotbugs org.apache.commons:commons-text:1.10.0=spotbugs @@ -95,90 +72,87 @@ org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.19.0=spotbugs -org.apache.logging.log4j:log4j-bom:2.22.1=compileClasspath org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,testCompileClasspath -org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-ant:2.5.14=codenarc -org.codehaus.groovy:groovy-ant:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-console:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-datetime:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc -org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-jmx:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-json:2.5.14=codenarc -org.codehaus.groovy:groovy-json:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-macro:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-nio:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-servlet:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-sql:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-swing:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-templates:2.5.14=codenarc -org.codehaus.groovy:groovy-templates:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-test:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-testng:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-xml:2.5.14=codenarc -org.codehaus.groovy:groovy-xml:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy:2.5.14=codenarc -org.codehaus.groovy:groovy:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,testAnnotationProcessor org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs -org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.glassfish.jersey:jersey-bom:2.37=compileClasspath +org.eclipse.jetty:jetty-http:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc -org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -org.jctools:jctools-core:4.0.3=latestDepTestRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-runner:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit:junit-bom:5.9.1=spotbugs -org.junit:junit-bom:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.0=testCompileClasspath +org.junit.platform:junit-platform-commons:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.0=testCompileClasspath +org.junit.platform:junit-platform-engine:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.0=testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.0=testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.0=testRuntimeClasspath +org.junit:junit-bom:5.9.0=testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath org.ow2.asm:asm-analysis:9.4=spotbugs -org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath org.ow2.asm:asm-commons:9.4=spotbugs -org.ow2.asm:asm-commons:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm-commons:9.8=testRuntimeClasspath +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath org.ow2.asm:asm-tree:9.4=spotbugs -org.ow2.asm:asm-tree:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.8=testRuntimeClasspath +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath org.ow2.asm:asm-util:9.4=spotbugs -org.ow2.asm:asm:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath org.ow2.asm:asm:9.4=spotbugs -org.ow2.asm:asm:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:slf4j-api:1.7.30=instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm:9.8=testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath org.slf4j:slf4j-api:1.7.32=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=compileClasspath,latestDepTestRuntimeClasspath org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j -org.spockframework:spock-core:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.spockframework:spock-junit4:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.spockframework:spock-core:2.3-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.3-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=testRuntimeClasspath +org.webjars:jquery:3.5.1=testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs -org.yaml:snakeyaml:2.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.yaml:snakeyaml:2.4=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath xml-apis:xml-apis:1.4.01=spotbugs -empty=main_java11AnnotationProcessor,spotbugsPlugins,testFixturesAnnotationProcessor,testFixturesCompileClasspath +empty=spotbugsPlugins diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile new file mode 100644 index 00000000000..171297de735 --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile @@ -0,0 +1,176 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.15=spotbugs +commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.8=compileClasspath +info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-annotations:0.42.55=testRuntimeClasspath +io.servicetalk:servicetalk-annotations:0.42.56=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-buffer-api:0.42.55=testRuntimeClasspath +io.servicetalk:servicetalk-buffer-api:0.42.56=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.0=compileClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.55=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent-internal:0.42.55=testRuntimeClasspath +io.servicetalk:servicetalk-concurrent-internal:0.42.56=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent:0.42.0=compileClasspath +io.servicetalk:servicetalk-concurrent:0.42.55=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-concurrent:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-context-api:0.42.0=compileClasspath +io.servicetalk:servicetalk-context-api:0.42.55=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-context-api:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-utils-internal:0.42.55=testRuntimeClasspath +io.servicetalk:servicetalk-utils-internal:0.42.56=latestDepTestRuntimeClasspath +io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=latestDepTestRuntimeClasspath,testRuntimeClasspath +junit:junit-dep:4.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant:1.10.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.jctools:jctools-core:4.0.3=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.0=latestDepTestCompileClasspath,testCompileClasspath +org.junit.platform:junit-platform-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.0=latestDepTestCompileClasspath,testCompileClasspath +org.junit.platform:junit-platform-engine:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.9.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-commons:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-tree:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.ow2.asm:asm:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath +org.slf4j:slf4j-api:1.7.36=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +org.yaml:snakeyaml:2.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +xml-apis:xml-apis:1.4.01=spotbugs +empty=main_java11AnnotationProcessor,spotbugsPlugins,testFixturesAnnotationProcessor,testFixturesCompileClasspath diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile new file mode 100644 index 00000000000..d2d0c267928 --- /dev/null +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile @@ -0,0 +1,173 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs:4.7.3=spotbugs +com.github.stefanbirkner:system-rules:1.19.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.9.1=spotbugs +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.15=spotbugs +commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +de.thetaphi:forbiddenapis:3.8=compileClasspath +info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-annotations:0.42.56=testRuntimeClasspath +io.servicetalk:servicetalk-annotations:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-buffer-api:0.42.56=testRuntimeClasspath +io.servicetalk:servicetalk-buffer-api:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.57-SNAPSHOT=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent-internal:0.42.56=testRuntimeClasspath +io.servicetalk:servicetalk-concurrent-internal:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-concurrent:0.42.57-SNAPSHOT=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-context-api:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-context-api:0.42.57-SNAPSHOT=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-utils-internal:0.42.56=testRuntimeClasspath +io.servicetalk:servicetalk-utils-internal:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath +io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +jaxen:jaxen:1.2.0=spotbugs +jline:jline:2.14.6=latestDepTestRuntimeClasspath,testRuntimeClasspath +junit:junit-dep:4.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +net.sf.saxon:Saxon-HE:11.4=spotbugs +org.apache.ant:ant-antlr:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.9.15=codenarc +org.apache.ant:ant-junit:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.9.15=codenarc +org.apache.ant:ant-launcher:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant:1.10.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.bcel:bcel:6.5.0=spotbugs +org.apache.commons:commons-lang3:3.12.0=spotbugs +org.apache.commons:commons-text:1.10.0=spotbugs +org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs +org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs +org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-core:2.19.0=spotbugs +org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:2.5.14=codenarc +org.codehaus.groovy:groovy-ant:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc +org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:2.5.14=codenarc +org.codehaus.groovy:groovy-json:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:2.5.14=codenarc +org.codehaus.groovy:groovy-templates:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:2.5.14=codenarc +org.codehaus.groovy:groovy-xml:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy:2.5.14=codenarc +org.codehaus.groovy:groovy:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codenarc:CodeNarc:2.2.0=codenarc +org.dom4j:dom4j:2.1.3=spotbugs +org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.gmetrics:GMetrics:1.1=codenarc +org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.jctools:jctools-core:4.0.3=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.0=latestDepTestCompileClasspath,testCompileClasspath +org.junit.platform:junit-platform-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.0=latestDepTestCompileClasspath,testCompileClasspath +org.junit.platform:junit-platform-engine:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.9.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.4=spotbugs +org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm-commons:9.4=spotbugs +org.ow2.asm:asm-commons:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm-tree:9.4=spotbugs +org.ow2.asm:asm-tree:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-util:9.4=spotbugs +org.ow2.asm:asm:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.ow2.asm:asm:9.4=spotbugs +org.ow2.asm:asm:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath +org.slf4j:slf4j-api:1.7.36=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j +org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.spockframework:spock-core:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.xmlresolver:xmlresolver:4.4.3=spotbugs +org.yaml:snakeyaml:2.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +xml-apis:xml-apis:1.4.01=spotbugs +empty=main_java11AnnotationProcessor,spotbugsPlugins,testFixturesAnnotationProcessor,testFixturesCompileClasspath From 344f965bf0d613f9a412bb50bbd6a71b2067301f Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Thu, 15 May 2025 11:24:37 -0700 Subject: [PATCH 06/13] Add captureContext specific test --- ...ontextPreservingInstrumentationTest.groovy | 2 +- ...ontextPreservingInstrumentationTest.groovy | 33 ++++++++++++++----- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy index cc0897037e5..04efe1fb43e 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/src/test/groovy/ContextPreservingInstrumentationTest.groovy @@ -149,7 +149,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { } } - private childSpan() { + private static childSpan() { AgentTracer.startSpan("test", "child").finish() } } diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy index e3f3b2dfdda..6f6a58d2b16 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/test/groovy/ContextPreservingInstrumentationTest.groovy @@ -3,7 +3,6 @@ import datadog.trace.bootstrap.instrumentation.api.AgentScope import datadog.trace.bootstrap.instrumentation.api.AgentTracer import io.servicetalk.concurrent.api.AsyncContext import io.servicetalk.concurrent.api.CapturedContext - import java.util.concurrent.ExecutorService import java.util.concurrent.Executors @@ -11,11 +10,28 @@ import static datadog.trace.agent.test.utils.TraceUtils.runUnderTrace class ContextPreservingInstrumentationTest extends AgentTestRunner { + def "capturedContext"() { + setup: + def parent = startParentContext() + + when: + runInSeparateThread { + parent.capturedContext.attachContext() + try (def _ = parent.capturedContext.attachContext()) { + childSpan() + } + } + parent.releaseParentSpan() + + then: + assertParentChildTrace() + } + def "wrapBiConsumer"() { setup: def parent = startParentContext() def wrapped = - asyncContextProvider.wrapBiConsumer({ t, u -> childSpan() }, parent.capturedContext) + asyncContextProvider.wrapBiConsumer({ t, u -> childSpan() }, parent.capturedContext) when: runInSeparateThread{ wrapped.accept(null, null) } @@ -29,7 +45,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { setup: def parent = startParentContext() def wrapped = - asyncContextProvider.wrapBiFunction({ t, u -> childSpan() }, parent.capturedContext) + asyncContextProvider.wrapBiFunction({ t, u -> childSpan() }, parent.capturedContext) when: runInSeparateThread{ wrapped.apply(null, null) } @@ -43,7 +59,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { setup: def parent = startParentContext() def wrapped = - asyncContextProvider.wrapCallable({ -> childSpan() }, parent.capturedContext) + asyncContextProvider.wrapCallable({ -> childSpan() }, parent.capturedContext) when: runInSeparateThread{ wrapped.call() } @@ -57,7 +73,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { setup: def parent = startParentContext() def wrapped = - asyncContextProvider.wrapConsumer({ t -> childSpan() }, parent.capturedContext) + asyncContextProvider.wrapConsumer({ t -> childSpan() }, parent.capturedContext) when: runInSeparateThread{ wrapped.accept(null) } @@ -71,7 +87,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { setup: def parent = startParentContext() def wrapped = - asyncContextProvider.wrapFunction({ t -> childSpan() }, parent.capturedContext) + asyncContextProvider.wrapFunction({ t -> childSpan() }, parent.capturedContext) when: runInSeparateThread { wrapped.apply(null) } @@ -85,7 +101,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { setup: def parent = startParentContext() def wrapped = - asyncContextProvider.wrapRunnable({ -> childSpan() }, parent.capturedContext) + asyncContextProvider.wrapRunnable({ -> childSpan() }, parent.capturedContext) when: runInSeparateThread(wrapped) @@ -113,7 +129,6 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { */ private class ParentContext { final CapturedContext capturedContext = asyncContextProvider.captureContext() - // final CapturedContext capturedContext = asyncContextProvider.captureContextCopy() //TODO final AgentScope.Continuation spanContinuation = AgentTracer.captureActiveSpan() def releaseParentSpan() { @@ -151,7 +166,7 @@ class ContextPreservingInstrumentationTest extends AgentTestRunner { } } - private childSpan() { + private static childSpan() { AgentTracer.startSpan("test", "child").finish() } } From c2e91007c421eb9f87830e96f249556d25f2df8b Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Tue, 20 May 2025 15:03:37 +0200 Subject: [PATCH 07/13] fix lockfile for servicetalk instrumentation --- .../servicetalk/servicetalk-0.42.56/gradle.lockfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile index d2d0c267928..bc0c5883d2d 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile @@ -48,19 +48,12 @@ commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeC de.thetaphi:forbiddenapis:3.8=compileClasspath info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath io.servicetalk:servicetalk-annotations:0.42.56=testRuntimeClasspath -io.servicetalk:servicetalk-annotations:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath io.servicetalk:servicetalk-buffer-api:0.42.56=testRuntimeClasspath -io.servicetalk:servicetalk-buffer-api:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath io.servicetalk:servicetalk-concurrent-api:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.57-SNAPSHOT=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.servicetalk:servicetalk-concurrent-internal:0.42.56=testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath io.servicetalk:servicetalk-concurrent:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent:0.42.57-SNAPSHOT=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.servicetalk:servicetalk-context-api:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-context-api:0.42.57-SNAPSHOT=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.servicetalk:servicetalk-utils-internal:0.42.56=testRuntimeClasspath -io.servicetalk:servicetalk-utils-internal:0.42.57-SNAPSHOT=latestDepTestRuntimeClasspath io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs From 11721521b50a20a3d49381211df0a8f4f4a4f21a Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Wed, 21 May 2025 14:50:11 +0200 Subject: [PATCH 08/13] Include the other ServiceTalk instruments in the test to make sure they don't interfere. --- .../instrumentation/servicetalk/servicetalk-0.42.0/build.gradle | 2 ++ .../servicetalk/servicetalk-0.42.56/build.gradle | 2 ++ 2 files changed, 4 insertions(+) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle index b7726e85b84..81f7204829f 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle @@ -30,6 +30,8 @@ dependencies { testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.55' testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.55' + testRuntimeOnly project(":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.56") + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' } diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle index 9088da8dbf7..5f09bb98fc1 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle @@ -31,6 +31,8 @@ dependencies { testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' + testRuntimeOnly project(":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.0") + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '+' latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '+' } From e064fd6595886d8f50c9ed0abbe45eccc96f9177 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Thu, 22 May 2025 15:57:26 +0200 Subject: [PATCH 09/13] Disable latestDepTest for ServiceTalk 0.42.56 because this is the only version for now --- .../servicetalk/servicetalk-0.42.56/build.gradle | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle index 5f09bb98fc1..05c64e569d8 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle @@ -22,7 +22,8 @@ ext { apply from: "$rootDir/gradle/java.gradle" -addTestSuiteForDir('latestDepTest', 'test') +//addTestSuiteForDir('latestDepTest', 'test') +// TODO currently 0.42.56 is the latest version. Enable this once the next (0.42.57) is out, add 'latestDepTest' dependencies { compileOnly group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' @@ -33,7 +34,8 @@ dependencies { testRuntimeOnly project(":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.0") - latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '+' - latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '+' + // TODO currently 0.42.56 is the latest version. Enable this once the next (0.42.57) is out, add 'latestDepTest' + // latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '+' + // latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '+' } From 63680117780eb178579087e004c9f539960ec65f Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Thu, 22 May 2025 16:35:30 +0200 Subject: [PATCH 10/13] Fix false positive bug detection --- .../CapturedContextProvidersInstrumentation.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java index bfb94a5942c..0e062befb46 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java @@ -5,6 +5,7 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import datadog.trace.agent.tooling.InstrumenterModule; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import io.servicetalk.concurrent.api.CapturedContextProvider; import java.util.ArrayList; import java.util.List; @@ -29,6 +30,7 @@ public void methodAdvice(MethodTransformer transformer) { } private static final class LoadProvidersAdvice { + @SuppressFBWarnings("UC_USELESS_OBJECT") @Advice.OnMethodExit(suppress = Throwable.class) public static void exit(@Advice.Return(readOnly = false) java.util.List loadedProviders) { List providers = new ArrayList<>(loadedProviders.size() + 1); From f7bc93419b337e031f8a45b0cdaf8be65a795fe1 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Thu, 22 May 2025 17:23:50 +0200 Subject: [PATCH 11/13] Fix muzzle check --- .../CapturedContextProvidersInstrumentation.java | 1 + 1 file changed, 1 insertion(+) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java index 0e062befb46..28953cf118f 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/src/main/java/datadog/trace/instrumentation/servicetalk0_42_56/CapturedContextProvidersInstrumentation.java @@ -44,6 +44,7 @@ public static void exit(@Advice.Return(readOnly = false) java.util.List loadedPr public String[] helperClassNames() { return new String[] { packageName + ".DatadogCapturedContextProvider", + packageName + ".DatadogCapturedContextProvider$WithDatadogCapturedContext", }; } } From 0b6f63af0725dc681c2163ded2aacad2b67ea0e3 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Fri, 23 May 2025 11:06:24 +0200 Subject: [PATCH 12/13] Fix latestDep tests --- .../servicetalk-0.42.0/build.gradle | 13 +- .../servicetalk-0.42.0/gradle.lockfile | 47 ++-- .../servicetalk-0.42.56/build.gradle | 1 + .../servicetalk-0.42.56/gradle.lockfile | 232 +++++++++--------- 4 files changed, 152 insertions(+), 141 deletions(-) diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle index 81f7204829f..8c8b4f1b6f7 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/build.gradle @@ -6,12 +6,12 @@ muzzle { pass { group = 'io.servicetalk' module = 'servicetalk-concurrent-api' - versions = '[0.42.0,0.42.56)' + versions = '[0.42.0,0.42.55]' } fail { group = 'io.servicetalk' module = 'servicetalk-concurrent-api' - versions = '[0.42.56,]' + versions = '(0.42.55,]' } } @@ -27,12 +27,13 @@ dependencies { compileOnly group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.0' compileOnly group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.0' - testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.55' - testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.55' + testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.42' + testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.42' + // import the newer instrumentation into the test to ensure that it does not interfere with it testRuntimeOnly project(":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.56") - latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' - latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.55' + latestDepTestImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.55' } diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile index 171297de735..4c7e87b72f6 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.0/gradle.lockfile @@ -4,7 +4,8 @@ cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath +ch.qos.logback:logback-core:1.5.18=testRuntimeClasspath com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath @@ -12,6 +13,7 @@ com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latest com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.15.4=testCompileClasspath,testRuntimeClasspath com.github.javaparser:javaparser-core:3.25.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath @@ -21,8 +23,9 @@ com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClas com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs +com.github.spotbugs:spotbugs-annotations:4.8.3=testCompileClasspath,testRuntimeClasspath com.github.spotbugs:spotbugs:4.7.3=spotbugs com.github.stefanbirkner:system-rules:1.19.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath @@ -36,6 +39,7 @@ com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeCl com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +com.google.protobuf:protobuf-bom:3.25.1=testCompileClasspath,testRuntimeClasspath com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath @@ -47,23 +51,26 @@ commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDe commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath de.thetaphi:forbiddenapis:3.8=compileClasspath info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-annotations:0.42.55=testRuntimeClasspath -io.servicetalk:servicetalk-annotations:0.42.56=latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-buffer-api:0.42.55=testRuntimeClasspath -io.servicetalk:servicetalk-buffer-api:0.42.56=latestDepTestRuntimeClasspath +io.netty:netty-bom:4.1.107.Final=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-annotations:0.42.42=testRuntimeClasspath +io.servicetalk:servicetalk-annotations:0.42.55=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-bom:0.42.42=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-buffer-api:0.42.42=testRuntimeClasspath +io.servicetalk:servicetalk-buffer-api:0.42.55=latestDepTestRuntimeClasspath io.servicetalk:servicetalk-concurrent-api:0.42.0=compileClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.55=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-api:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.55=testRuntimeClasspath -io.servicetalk:servicetalk-concurrent-internal:0.42.56=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.42=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-concurrent-api:0.42.55=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent-internal:0.42.42=testRuntimeClasspath +io.servicetalk:servicetalk-concurrent-internal:0.42.55=latestDepTestRuntimeClasspath io.servicetalk:servicetalk-concurrent:0.42.0=compileClasspath -io.servicetalk:servicetalk-concurrent:0.42.55=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-concurrent:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-concurrent:0.42.42=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-concurrent:0.42.55=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath io.servicetalk:servicetalk-context-api:0.42.0=compileClasspath -io.servicetalk:servicetalk-context-api:0.42.55=testCompileClasspath,testRuntimeClasspath -io.servicetalk:servicetalk-context-api:0.42.56=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath -io.servicetalk:servicetalk-utils-internal:0.42.55=testRuntimeClasspath -io.servicetalk:servicetalk-utils-internal:0.42.56=latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-context-api:0.42.42=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-context-api:0.42.55=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath +io.servicetalk:servicetalk-dependencies:0.42.42=testCompileClasspath,testRuntimeClasspath +io.servicetalk:servicetalk-utils-internal:0.42.42=testRuntimeClasspath +io.servicetalk:servicetalk-utils-internal:0.42.55=latestDepTestRuntimeClasspath io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs @@ -89,6 +96,7 @@ org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.19.0=spotbugs +org.apache.logging.log4j:log4j-bom:2.22.1=testCompileClasspath,testRuntimeClasspath org.apache.logging.log4j:log4j-core:2.19.0=spotbugs org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor @@ -128,6 +136,7 @@ org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,late org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.glassfish.jersey:jersey-bom:2.37=testCompileClasspath,testRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath @@ -162,15 +171,15 @@ org.ow2.asm:asm:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath +org.slf4j:slf4j-api:1.7.36=latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.snakeyaml:snakeyaml-engine:2.9=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.spockframework:spock-core:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.spockframework:spock-junit4:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs -org.yaml:snakeyaml:2.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath xml-apis:xml-apis:1.4.01=spotbugs empty=main_java11AnnotationProcessor,spotbugsPlugins,testFixturesAnnotationProcessor,testFixturesCompileClasspath diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle index 05c64e569d8..b7b27117ae8 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/build.gradle @@ -32,6 +32,7 @@ dependencies { testImplementation group: 'io.servicetalk', name: 'servicetalk-concurrent-api', version: '0.42.56' testImplementation group: 'io.servicetalk', name: 'servicetalk-context-api', version: '0.42.56' + // import the previous instrumentation into the test to ensure that it does not interfere with it testRuntimeOnly project(":dd-java-agent:instrumentation:servicetalk:servicetalk-0.42.0") // TODO currently 0.42.56 is the latest version. Enable this once the next (0.42.57) is out, add 'latestDepTest' diff --git a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile index bc0c5883d2d..9a2c319eb61 100644 --- a/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile +++ b/dd-java-agent/instrumentation/servicetalk/servicetalk-0.42.56/gradle.lockfile @@ -1,52 +1,52 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -ch.qos.logback:logback-classic:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.2.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.beust:jcommander:1.78=latestDepTestRuntimeClasspath,testRuntimeClasspath -com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.javaparser:javaparser-core:3.25.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.2.3=testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.2.3=testCompileClasspath,testRuntimeClasspath +com.beust:jcommander:1.78=testRuntimeClasspath +com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.javaparser:javaparser-core:3.25.1=testCompileClasspath,testRuntimeClasspath +com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs com.github.spotbugs:spotbugs:4.7.3=spotbugs -com.github.stefanbirkner:system-rules:1.19.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath -com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.auto:auto-common:0.10=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.github.stefanbirkner:system-rules:1.19.0=testCompileClasspath,testRuntimeClasspath +com.google.auto.service:auto-service-annotations:1.0-rc7=annotationProcessor,compileClasspath,testAnnotationProcessor,testCompileClasspath +com.google.auto.service:auto-service:1.0-rc7=annotationProcessor,testAnnotationProcessor +com.google.auto:auto-common:0.10=annotationProcessor,testAnnotationProcessor +com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.code.gson:gson:2.9.1=spotbugs -com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.guava:guava:27.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -com.thoughtworks.qdox:qdox:1.12.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.2.0=annotationProcessor,testAnnotationProcessor +com.google.guava:failureaccess:1.0.1=annotationProcessor,testAnnotationProcessor +com.google.guava:guava:20.0=testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:27.0.1-jre=annotationProcessor,testAnnotationProcessor +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,testAnnotationProcessor +com.google.j2objc:j2objc-annotations:1.1=annotationProcessor,testAnnotationProcessor +com.google.re2j:re2j:1.7=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.squareup.okhttp3:logging-interceptor:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.12.12=testCompileClasspath,testRuntimeClasspath +com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.thoughtworks.qdox:qdox:1.12.1=testRuntimeClasspath commons-codec:commons-codec:1.15=spotbugs -commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-fileupload:commons-fileupload:1.5=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath de.thetaphi:forbiddenapis:3.8=compileClasspath -info.picocli:picocli:4.6.3=latestDepTestRuntimeClasspath,testRuntimeClasspath +info.picocli:picocli:4.6.3=testRuntimeClasspath io.servicetalk:servicetalk-annotations:0.42.56=testRuntimeClasspath io.servicetalk:servicetalk-buffer-api:0.42.56=testRuntimeClasspath io.servicetalk:servicetalk-concurrent-api:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath @@ -54,24 +54,24 @@ io.servicetalk:servicetalk-concurrent-internal:0.42.56=testRuntimeClasspath io.servicetalk:servicetalk-concurrent:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath io.servicetalk:servicetalk-context-api:0.42.56=compileClasspath,testCompileClasspath,testRuntimeClasspath io.servicetalk:servicetalk-utils-internal:0.42.56=testRuntimeClasspath -io.sqreen:libsqreen:13.0.1=latestDepTestRuntimeClasspath,testRuntimeClasspath -javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +io.sqreen:libsqreen:13.0.1=testRuntimeClasspath +javax.servlet:javax.servlet-api:3.1.0=testCompileClasspath,testRuntimeClasspath jaxen:jaxen:1.2.0=spotbugs -jline:jline:2.14.6=latestDepTestRuntimeClasspath,testRuntimeClasspath -junit:junit-dep:4.11=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -junit:junit:4.13.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath -net.jcip:jcip-annotations:1.0=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath +jline:jline:2.14.6=testRuntimeClasspath +junit:junit-dep:4.11=testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.5=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.5=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +net.jcip:jcip-annotations:1.0=compileClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath net.sf.saxon:Saxon-HE:11.4=spotbugs -org.apache.ant:ant-antlr:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-antlr:1.10.12=testRuntimeClasspath org.apache.ant:ant-antlr:1.9.15=codenarc -org.apache.ant:ant-junit:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.apache.ant:ant-junit:1.10.12=testRuntimeClasspath org.apache.ant:ant-junit:1.9.15=codenarc -org.apache.ant:ant-launcher:1.10.12=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.apache.ant:ant:1.10.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apache.ant:ant-launcher:1.10.12=testRuntimeClasspath +org.apache.ant:ant:1.10.12=testCompileClasspath,testRuntimeClasspath org.apache.bcel:bcel:6.5.0=spotbugs org.apache.commons:commons-lang3:3.12.0=spotbugs org.apache.commons:commons-text:1.10.0=spotbugs @@ -80,87 +80,87 @@ org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs org.apache.logging.log4j:log4j-api:2.19.0=spotbugs org.apache.logging.log4j:log4j-core:2.19.0=spotbugs -org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.checkerframework:checker-qual:2.5.2=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor -org.codehaus.groovy:groovy-all:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:2.5.2=annotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy-all:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-ant:2.5.14=codenarc -org.codehaus.groovy:groovy-ant:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-astbuilder:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-cli-picocli:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-console:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-datetime:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-docgenerator:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-ant:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-astbuilder:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-cli-picocli:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-console:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-datetime:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-docgenerator:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc -org.codehaus.groovy:groovy-groovydoc:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-groovysh:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-jmx:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovydoc:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-groovysh:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jmx:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-json:2.5.14=codenarc -org.codehaus.groovy:groovy-json:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-jsr223:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-macro:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-nio:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-servlet:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-sql:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-swing:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-json:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-jsr223:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-macro:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-nio:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-servlet:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-sql:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-swing:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-templates:2.5.14=codenarc -org.codehaus.groovy:groovy-templates:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-test-junit5:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-test:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.groovy:groovy-testng:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-templates:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test-junit5:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-test:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-testng:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy-xml:2.5.14=codenarc -org.codehaus.groovy:groovy-xml:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.codehaus.groovy:groovy-xml:3.0.17=testCompileClasspath,testRuntimeClasspath org.codehaus.groovy:groovy:2.5.14=codenarc -org.codehaus.groovy:groovy:3.0.17=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor +org.codehaus.groovy:groovy:3.0.17=testCompileClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.17=annotationProcessor,testAnnotationProcessor org.codenarc:CodeNarc:2.2.0=codenarc org.dom4j:dom4j:2.1.3=spotbugs -org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-http:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:9.4.56.v20240826=testCompileClasspath,testRuntimeClasspath org.gmetrics:GMetrics:1.1=codenarc -org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.hamcrest:hamcrest:2.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath -org.jctools:jctools-core:4.0.3=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.9.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.0=latestDepTestCompileClasspath,testCompileClasspath -org.junit.platform:junit-platform-commons:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.0=latestDepTestCompileClasspath,testCompileClasspath -org.junit.platform:junit-platform-engine:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.9.2=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-runner:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-commons:1.9.0=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.junit:junit-bom:5.9.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.jctools:jctools-core:4.0.3=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.0=testCompileClasspath +org.junit.platform:junit-platform-commons:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.0=testCompileClasspath +org.junit.platform:junit-platform-engine:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.9.2=testRuntimeClasspath +org.junit.platform:junit-platform-runner:1.9.0=testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.9.0=testRuntimeClasspath +org.junit.platform:junit-platform-suite-commons:1.9.0=testRuntimeClasspath +org.junit:junit-bom:5.9.0=testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.ow2.asm:asm-analysis:9.4=spotbugs org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath org.ow2.asm:asm-commons:9.4=spotbugs -org.ow2.asm:asm-commons:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.8=testRuntimeClasspath org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath org.ow2.asm:asm-tree:9.4=spotbugs -org.ow2.asm:asm-tree:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.8=testRuntimeClasspath +org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.ow2.asm:asm-util:9.4=spotbugs org.ow2.asm:asm:9.2=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath org.ow2.asm:asm:9.4=spotbugs -org.ow2.asm:asm:9.8=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.8=testRuntimeClasspath +org.slf4j:jcl-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:jul-to-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:log4j-over-slf4j:1.7.30=testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,main_java11CompileClasspath,main_java11RuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath +org.slf4j:slf4j-api:1.7.36=testRuntimeClasspath org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j -org.spockframework:spock-core:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.spockframework:spock-junit4:2.3-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath -org.testng:testng:7.5=latestDepTestRuntimeClasspath,testRuntimeClasspath -org.webjars:jquery:3.5.1=latestDepTestRuntimeClasspath,testRuntimeClasspath +org.snakeyaml:snakeyaml-engine:2.9=instrumentPluginClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.spockframework:spock-core:2.3-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.spockframework:spock-junit4:2.3-groovy-3.0=testCompileClasspath,testRuntimeClasspath +org.testng:testng:7.5=testRuntimeClasspath +org.webjars:jquery:3.5.1=testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs -org.yaml:snakeyaml:2.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,main_java11RuntimeClasspath,muzzleTooling,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath xml-apis:xml-apis:1.4.01=spotbugs empty=main_java11AnnotationProcessor,spotbugsPlugins,testFixturesAnnotationProcessor,testFixturesCompileClasspath From 1de5f852aa589b628fafdb94bed64b2c85450a79 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Fri, 23 May 2025 11:12:46 +0200 Subject: [PATCH 13/13] Update lockfile --- dd-java-agent/instrumentation/servicetalk/gradle.lockfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile index b50cccf2e6d..d9bd3d8f269 100644 --- a/dd-java-agent/instrumentation/servicetalk/gradle.lockfile +++ b/dd-java-agent/instrumentation/servicetalk/gradle.lockfile @@ -148,11 +148,11 @@ org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBoot org.slf4j:slf4j-api:1.7.32=testRuntimeClasspath org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j +org.snakeyaml:snakeyaml-engine:2.9=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath org.spockframework:spock-core:2.3-groovy-3.0=testCompileClasspath,testRuntimeClasspath org.spockframework:spock-junit4:2.3-groovy-3.0=testCompileClasspath,testRuntimeClasspath org.testng:testng:7.5=testRuntimeClasspath org.webjars:jquery:3.5.1=testRuntimeClasspath org.xmlresolver:xmlresolver:4.4.3=spotbugs -org.yaml:snakeyaml:2.4=instrumentPluginClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath xml-apis:xml-apis:1.4.01=spotbugs empty=spotbugsPlugins