Skip to content

Commit 5f3fdd5

Browse files
committed
move mongo < 4.0 to standalone package driver-3.6
In the end, the instrumentation only works on driver > 3.6, so we decided to make a standalone package for that. This version being 9 years old seems to be enough for DBM support
1 parent b6f781d commit 5f3fdd5

File tree

10 files changed

+642
-11
lines changed

10 files changed

+642
-11
lines changed

dd-java-agent/instrumentation/mongo/driver-3.10-sync-test/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ dependencies {
1313
testImplementation(project(':dd-java-agent:instrumentation:mongo:driver-3.4')) {
1414
transitive = false
1515
}
16+
testImplementation(project(':dd-java-agent:instrumentation:mongo:driver-3.6')) {
17+
transitive = false
18+
}
1619

1720
testImplementation project(':dd-java-agent:instrumentation:mongo').sourceSets.test.output
1821
testImplementation group: 'org.testcontainers', name: 'mongodb', version: libs.versions.testcontainers.get()
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
muzzle {
2+
pass {
3+
group = "org.mongodb"
4+
module = "mongodb-driver-core"
5+
versions = "[3.1,4)"
6+
assertInverse = true
7+
}
8+
pass {
9+
group = "org.mongodb"
10+
module = "mongodb-driver-async"
11+
versions = "[3.1,4)"
12+
assertInverse = true
13+
}
14+
pass {
15+
group = "org.mongodb"
16+
module = "mongodb-driver-sync"
17+
versions = "[3.1,4)"
18+
assertInverse = true
19+
}
20+
pass {
21+
group = "org.mongodb"
22+
module = "mongo-java-driver"
23+
versions = "[3.1,4)"
24+
assertInverse = true
25+
}
26+
}
27+
28+
apply from: "$rootDir/gradle/java.gradle"
29+
30+
addTestSuiteForDir('latestDepTest', 'test')
31+
32+
dependencies {
33+
compileOnly group: 'org.mongodb', name: 'mongo-java-driver', version: '3.6.0'
34+
compileOnly group: 'org.mongodb', name: 'mongodb-driver-core', version: '3.6.0'
35+
36+
implementation(project(':dd-java-agent:instrumentation:mongo:common')) {
37+
transitive = false
38+
}
39+
40+
testImplementation project(':dd-java-agent:instrumentation:mongo').sourceSets.test.output
41+
testImplementation group: 'org.testcontainers', name: 'mongodb', version: libs.versions.testcontainers.get()
42+
43+
// We need to pull in this dependency to get the 'suspend span' instrumentation for spock tests
44+
// as well as to test the instrumentaiton 'layering' (3.4 instrumentation should take precedence
45+
// over 3.1 - otherwise the tests here should fail)
46+
testImplementation(project(':dd-java-agent:instrumentation:mongo:driver-3.1')) {
47+
transitive = false
48+
}
49+
testImplementation(project(':dd-java-agent:instrumentation:mongo:driver-3.4')) {
50+
transitive = false
51+
}
52+
53+
testImplementation group: 'org.mongodb', name: 'mongo-java-driver', version: '3.6.0'
54+
latestDepTestImplementation group: 'org.mongodb', name: 'mongo-java-driver', version: '3.+'
55+
}
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
cafe.cryptography:curve25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
5+
cafe.cryptography:ed25519-elisabeth:0.1.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
6+
ch.qos.logback:logback-classic:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
7+
ch.qos.logback:logback-core:1.2.13=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
8+
com.blogspot.mydailyjava:weak-lock-free:0.17=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
9+
com.datadoghq.okhttp3:okhttp:3.12.15=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
10+
com.datadoghq.okio:okio:1.17.6=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
11+
com.datadoghq:dd-instrument-java:0.0.3=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
12+
com.datadoghq:dd-javac-plugin-client:0.2.2=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
13+
com.datadoghq:java-dogstatsd-client:4.4.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
14+
com.datadoghq:sketches-java:0.8.3=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
15+
com.fasterxml.jackson.core:jackson-annotations:2.10.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
16+
com.github.docker-java:docker-java-api:3.4.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
17+
com.github.docker-java:docker-java-transport-zerodep:3.4.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
18+
com.github.docker-java:docker-java-transport:3.4.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
19+
com.github.javaparser:javaparser-core:3.25.6=codenarc
20+
com.github.jnr:jffi:1.3.13=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
21+
com.github.jnr:jnr-a64asm:1.0.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
22+
com.github.jnr:jnr-constants:0.10.4=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
23+
com.github.jnr:jnr-enxio:0.32.17=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
24+
com.github.jnr:jnr-ffi:2.2.16=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
25+
com.github.jnr:jnr-posix:3.1.19=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
26+
com.github.jnr:jnr-unixsocket:0.38.22=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
27+
com.github.jnr:jnr-x86asm:1.0.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
28+
com.github.spotbugs:spotbugs-annotations:4.9.8=compileClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath
29+
com.github.spotbugs:spotbugs:4.9.8=spotbugs
30+
com.github.stephenc.jcip:jcip-annotations:1.0-1=spotbugs
31+
com.google.auto.service:auto-service-annotations:1.1.1=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,testAnnotationProcessor,testCompileClasspath
32+
com.google.auto.service:auto-service:1.1.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
33+
com.google.auto:auto-common:1.2.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
34+
com.google.code.findbugs:jsr305:3.0.2=annotationProcessor,compileClasspath,latestDepTestAnnotationProcessor,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,spotbugs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
35+
com.google.code.gson:gson:2.13.2=spotbugs
36+
com.google.errorprone:error_prone_annotations:2.18.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
37+
com.google.errorprone:error_prone_annotations:2.41.0=spotbugs
38+
com.google.guava:failureaccess:1.0.1=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
39+
com.google.guava:guava:20.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
40+
com.google.guava:guava:32.0.1-jre=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
41+
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
42+
com.google.j2objc:j2objc-annotations:2.8=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
43+
com.google.re2j:re2j:1.7=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
44+
com.squareup.moshi:moshi:1.11.0=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
45+
com.squareup.okhttp3:logging-interceptor:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
46+
com.squareup.okhttp3:okhttp:3.12.12=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
47+
com.squareup.okio:okio:1.17.5=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
48+
com.thoughtworks.qdox:qdox:1.12.1=codenarc
49+
commons-fileupload:commons-fileupload:1.5=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
50+
commons-io:commons-io:2.11.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
51+
commons-io:commons-io:2.20.0=spotbugs
52+
de.thetaphi:forbiddenapis:3.10=compileClasspath
53+
io.leangen.geantyref:geantyref:1.3.16=latestDepTestRuntimeClasspath,testRuntimeClasspath
54+
io.sqreen:libsqreen:17.2.0=latestDepTestRuntimeClasspath,testRuntimeClasspath
55+
javax.servlet:javax.servlet-api:3.1.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
56+
jaxen:jaxen:2.0.0=spotbugs
57+
junit:junit:4.13.2=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
58+
net.bytebuddy:byte-buddy-agent:1.18.1=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
59+
net.bytebuddy:byte-buddy:1.18.1=compileClasspath,instrumentPluginClasspath,latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
60+
net.java.dev.jna:jna-platform:5.8.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
61+
net.java.dev.jna:jna:5.13.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
62+
net.java.dev.jna:jna:5.8.0=instrumentPluginClasspath,muzzleTooling,runtimeClasspath
63+
net.sf.saxon:Saxon-HE:12.9=spotbugs
64+
org.apache.ant:ant-antlr:1.10.14=codenarc
65+
org.apache.ant:ant-junit:1.10.14=codenarc
66+
org.apache.bcel:bcel:6.11.0=spotbugs
67+
org.apache.commons:commons-compress:1.24.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
68+
org.apache.commons:commons-lang3:3.19.0=spotbugs
69+
org.apache.commons:commons-text:1.14.0=spotbugs
70+
org.apache.logging.log4j:log4j-api:2.25.2=spotbugs
71+
org.apache.logging.log4j:log4j-core:2.25.2=spotbugs
72+
org.apiguardian:apiguardian-api:1.1.2=latestDepTestCompileClasspath,testCompileClasspath
73+
org.checkerframework:checker-qual:3.33.0=annotationProcessor,latestDepTestAnnotationProcessor,testAnnotationProcessor
74+
org.codehaus.groovy:groovy-ant:3.0.23=codenarc
75+
org.codehaus.groovy:groovy-docgenerator:3.0.23=codenarc
76+
org.codehaus.groovy:groovy-groovydoc:3.0.23=codenarc
77+
org.codehaus.groovy:groovy-json:3.0.23=codenarc
78+
org.codehaus.groovy:groovy-json:3.0.24=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
79+
org.codehaus.groovy:groovy-templates:3.0.23=codenarc
80+
org.codehaus.groovy:groovy-xml:3.0.23=codenarc
81+
org.codehaus.groovy:groovy:3.0.23=codenarc
82+
org.codehaus.groovy:groovy:3.0.25=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
83+
org.codenarc:CodeNarc:3.7.0=codenarc
84+
org.dom4j:dom4j:2.2.0=spotbugs
85+
org.eclipse.jetty:jetty-http:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
86+
org.eclipse.jetty:jetty-io:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
87+
org.eclipse.jetty:jetty-server:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
88+
org.eclipse.jetty:jetty-util:9.4.56.v20240826=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
89+
org.gmetrics:GMetrics:2.1.0=codenarc
90+
org.hamcrest:hamcrest-core:1.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
91+
org.hamcrest:hamcrest:3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
92+
org.jctools:jctools-core:3.3.0=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
93+
org.jetbrains:annotations:17.0.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
94+
org.junit.jupiter:junit-jupiter-api:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
95+
org.junit.jupiter:junit-jupiter-engine:5.14.1=latestDepTestRuntimeClasspath,testRuntimeClasspath
96+
org.junit.jupiter:junit-jupiter-params:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
97+
org.junit.jupiter:junit-jupiter:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
98+
org.junit.platform:junit-platform-commons:1.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
99+
org.junit.platform:junit-platform-engine:1.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
100+
org.junit.platform:junit-platform-launcher:1.14.1=latestDepTestRuntimeClasspath,testRuntimeClasspath
101+
org.junit.platform:junit-platform-runner:1.14.1=latestDepTestRuntimeClasspath,testRuntimeClasspath
102+
org.junit.platform:junit-platform-suite-api:1.14.1=latestDepTestRuntimeClasspath,testRuntimeClasspath
103+
org.junit.platform:junit-platform-suite-commons:1.14.1=latestDepTestRuntimeClasspath,testRuntimeClasspath
104+
org.junit:junit-bom:5.14.0=spotbugs
105+
org.junit:junit-bom:5.14.1=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
106+
org.mockito:mockito-core:4.4.0=latestDepTestRuntimeClasspath,testRuntimeClasspath
107+
org.mongodb:bson:3.4.0=compileClasspath
108+
org.mongodb:mongo-java-driver:3.12.14=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath
109+
org.mongodb:mongo-java-driver:3.4.0=compileClasspath,testCompileClasspath,testRuntimeClasspath
110+
org.mongodb:mongodb-driver-core:3.4.0=compileClasspath
111+
org.objenesis:objenesis:3.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
112+
org.opentest4j:opentest4j:1.3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
113+
org.ow2.asm:asm-analysis:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
114+
org.ow2.asm:asm-analysis:9.9=spotbugs
115+
org.ow2.asm:asm-commons:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath
116+
org.ow2.asm:asm-commons:9.9=latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath
117+
org.ow2.asm:asm-tree:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath
118+
org.ow2.asm:asm-tree:9.9=latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath
119+
org.ow2.asm:asm-util:9.2=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
120+
org.ow2.asm:asm-util:9.9=spotbugs
121+
org.ow2.asm:asm:9.2=instrumentPluginClasspath,muzzleTooling,runtimeClasspath
122+
org.ow2.asm:asm:9.9=latestDepTestRuntimeClasspath,spotbugs,testRuntimeClasspath
123+
org.rnorth.duct-tape:duct-tape:1.0.8=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
124+
org.slf4j:jcl-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
125+
org.slf4j:jul-to-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
126+
org.slf4j:log4j-over-slf4j:1.7.30=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
127+
org.slf4j:slf4j-api:1.7.30=compileClasspath,instrumentPluginClasspath,muzzleBootstrap,muzzleTooling,runtimeClasspath
128+
org.slf4j:slf4j-api:1.7.36=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
129+
org.slf4j:slf4j-api:2.0.17=spotbugs,spotbugsSlf4j
130+
org.slf4j:slf4j-simple:2.0.17=spotbugsSlf4j
131+
org.snakeyaml:snakeyaml-engine:2.9=instrumentPluginClasspath,latestDepTestRuntimeClasspath,muzzleTooling,runtimeClasspath,testRuntimeClasspath
132+
org.spockframework:spock-bom:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
133+
org.spockframework:spock-core:2.4-groovy-3.0=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
134+
org.testcontainers:mongodb:1.21.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
135+
org.testcontainers:testcontainers:1.21.3=latestDepTestCompileClasspath,latestDepTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
136+
org.xmlresolver:xmlresolver:5.3.3=spotbugs
137+
empty=spotbugsPlugins
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This is an instrumentation project.
2+
3+
In Mongo 3.6, the DefaultServerConnection was simplified to make all the queries type goes through the same code path when executing them. Because of this reason, the minimum version to have the DBM comment instrumentation is 3.6.

0 commit comments

Comments
 (0)