Skip to content

Commit 0c0b347

Browse files
committed
First iteration for kafka and netty
1 parent 5d03203 commit 0c0b347

File tree

13 files changed

+204
-77
lines changed

13 files changed

+204
-77
lines changed

dd-java-agent/instrumentation/kafka/kafka-clients-0.11/build.gradle

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ addTestSuite('iastLatestDepTest3')
2323
apply from: "$rootDir/gradle/configure_tests.gradle"
2424

2525
dependencies {
26-
compileOnly group: 'org.apache.kafka', name: 'kafka-clients', version: '0.11.0.0'
26+
compileOnly instrumentedLibs.kafka.clients.v011
2727
implementation project(':dd-java-agent:instrumentation:kafka:kafka-common')
2828

2929
testImplementation libs.spock.junit4 // This legacy module still needs JUnit4.
30-
testImplementation group: 'org.apache.kafka', name: 'kafka-clients', version: '0.11.0.0'
31-
testImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '1.3.3.RELEASE'
32-
testImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '1.3.3.RELEASE'
33-
testImplementation group: 'io.projectreactor.kafka', name: 'reactor-kafka', version: '1.0.0.RELEASE'
34-
testImplementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
30+
testImplementation instrumentedLibs.kafka.clients.v011
31+
testImplementation instrumentedLibs.spring.kafka.v13
32+
testImplementation instrumentedLibs.spring.kafka.test.v13
33+
testImplementation instrumentedLibs.reactor.kafka.v10
34+
testImplementation instrumentedLibs.jaxb.api.v22
3535
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.19.0'
3636
testRuntimeOnly group: 'org.assertj', name: 'assertj-core', version: '2.9.+'
3737
testRuntimeOnly project(':dd-java-agent:instrumentation:spring:spring-scheduling-3.1')
@@ -49,15 +49,15 @@ dependencies {
4949
testImplementation(group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.4')
5050

5151
// Include latest version of kafka itself along with latest version of client libs.
52-
latestDepTestImplementation group: 'org.apache.kafka', name: 'kafka-clients', version: '2.+'
52+
latestDepTestImplementation instrumentedLibs.kafka.clients.latest.v2x
5353
// latest depending to kafka client 2.x -> to be fixed when this instrumentation will test 3.x as well
54-
latestDepTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.+'
55-
latestDepTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '2.+'
54+
latestDepTestImplementation instrumentedLibs.spring.kafka.latest.v2x
55+
latestDepTestImplementation instrumentedLibs.spring.kafka.test.latest.v2x
5656
latestDepTestImplementation libs.guava
5757

5858
// Add kafka version 3.x for IAST
59-
iastLatestDepTest3Implementation group: 'org.apache.kafka', name: 'kafka-clients', version: '3.+'
60-
iastLatestDepTest3Implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '3.+'
59+
iastLatestDepTest3Implementation instrumentedLibs.kafka.clients.latest.v3x
60+
iastLatestDepTest3Implementation instrumentedLibs.spring.kafka.latest.v3x
6161
iastLatestDepTest3RuntimeOnly project(':dd-java-agent:instrumentation:iast-instrumenter')
6262
iastLatestDepTest3RuntimeOnly project(':dd-java-agent:instrumentation:java:java-lang:java-lang-1.8')
6363
iastLatestDepTest3RuntimeOnly project(':dd-java-agent:instrumentation:java:java-io-1.8')

dd-java-agent/instrumentation/kafka/kafka-clients-3.8/build.gradle

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,30 @@ dependencies {
3535
implementation project(':dd-java-agent:instrumentation:kafka:kafka-common')
3636
implementation project(':dd-java-agent:instrumentation:span-origin')
3737

38-
main_java17CompileOnly group: 'org.apache.kafka', name: 'kafka-clients', version: '3.8.0'
38+
main_java17CompileOnly instrumentedLibs.kafka.clients.v38
3939
main_java17Implementation project(':dd-java-agent:instrumentation:kafka:kafka-common')
4040

41-
testImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '3.3.4', {
41+
testImplementation(instrumentedLibs.spring.kafka.v33) {
4242
exclude group: 'org.apache.kafka'
4343
}
44-
testImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '3.3.4', {
44+
testImplementation(instrumentedLibs.spring.kafka.test.v33) {
4545
exclude group: 'org.apache.kafka'
4646
}
4747

48-
testImplementation 'org.apache.kafka:kafka-server-common:3.8.0:test'
48+
testImplementation instrumentedLibs.kafka.server.common.v38.test
4949

50-
testImplementation 'org.apache.kafka:kafka-clients:3.8.0'
51-
testImplementation 'org.apache.kafka:kafka-clients:3.8.0:test'
50+
testImplementation instrumentedLibs.kafka.clients.v38
51+
testImplementation "${instrumentedLibs.kafka.clients.v38.get().module}:${instrumentedLibs.kafka.clients.v38.get().version}:test"
5252

53-
testImplementation 'org.apache.kafka:kafka_2.13:3.8.0'
54-
testImplementation 'org.apache.kafka:kafka_2.13:3.8.0:test'
53+
testImplementation instrumentedLibs.kafka.v213.v38
54+
testImplementation "${instrumentedLibs.kafka.v213.v38.get().module}:${instrumentedLibs.kafka.v213.v38.get().version}:test"
5555

56-
testImplementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
57-
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.19.0'
56+
testImplementation instrumentedLibs.jaxb.api.v22
57+
testImplementation instrumentedLibs.mockito.core.v219
5858
testRuntimeOnly project(':dd-java-agent:instrumentation:spring:spring-scheduling-3.1')
5959

60-
latestDepTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '3.+'
61-
latestDepTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '3.+'
62-
latestDepTestImplementation group: 'io.dropwizard.metrics', name: 'metrics-core', version: '+'
60+
latestDepTestImplementation instrumentedLibs.spring.kafka.latest.v3x
61+
latestDepTestImplementation instrumentedLibs.spring.kafka.test.latest.v3x
62+
latestDepTestImplementation instrumentedLibs.dropwizard.metrics.latest
6363
latestDepTestImplementation libs.guava
6464
}

dd-java-agent/instrumentation/kafka/kafka-connect-0.11/build.gradle

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ muzzle {
1111
apply from: "$rootDir/gradle/java.gradle"
1212

1313
dependencies {
14-
compileOnly group: 'org.apache.kafka', name: 'connect-runtime', version: '0.11.0.0'
14+
compileOnly instrumentedLibs.kafka.connect.runtime.v011
1515

1616
testImplementation project(':dd-java-agent:agent-iast:iast-test-fixtures')
1717
testRuntimeOnly project(':dd-java-agent:instrumentation:iast-instrumenter')
@@ -20,14 +20,14 @@ dependencies {
2020
testRuntimeOnly project(':dd-java-agent:instrumentation:jackson-core')
2121
testRuntimeOnly project(':dd-java-agent:instrumentation:jackson-core:jackson-core-2.8')
2222
testImplementation libs.jackson.databind
23-
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.19.0'
24-
testImplementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
25-
testImplementation 'org.apache.kafka:connect-api:2.7.0' // Fixed version
26-
testImplementation 'org.apache.kafka:connect-runtime:2.7.0'
27-
testImplementation 'org.apache.kafka:connect-file:2.7.0' // For FileStreamSourceConnector
28-
testImplementation 'org.apache.kafka:kafka-clients:2.7.0'
23+
testImplementation instrumentedLibs.mockito.core.v219
24+
testImplementation instrumentedLibs.jaxb.api.v22
25+
testImplementation instrumentedLibs.kafka.connect.api.v27 // Fixed version
26+
testImplementation instrumentedLibs.kafka.connect.runtime.v27
27+
testImplementation instrumentedLibs.kafka.connect.file.v27 // For FileStreamSourceConnector
28+
testImplementation instrumentedLibs.kafka.clients.v27
2929
// Spring Kafka Test library
30-
testImplementation 'org.springframework.kafka:spring-kafka-test:2.7.9' // Version compatible with Kafka 2.7.x
30+
testImplementation instrumentedLibs.spring.kafka.test.v27 // Version compatible with Kafka 2.7.x
3131
testRuntimeOnly project(':dd-java-agent:instrumentation:kafka:kafka-clients-0.11')
3232
testRuntimeOnly project(':dd-java-agent:instrumentation:kafka:kafka-clients-3.8')
3333
testRuntimeOnly project(':dd-java-agent:instrumentation:kafka:kafka-streams-0.11')

dd-java-agent/instrumentation/kafka/kafka-streams-0.11/build.gradle

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,24 @@ apply from: "$rootDir/gradle/java.gradle"
1212
addTestSuite('latestDepTest')
1313

1414
dependencies {
15-
compileOnly group: 'org.apache.kafka', name: 'kafka-streams', version: '0.11.0.0'
15+
compileOnly instrumentedLibs.kafka.streams.v011
1616

1717
implementation project(':dd-java-agent:instrumentation:kafka:kafka-common')
1818
implementation project(':dd-java-agent:instrumentation:kafka:kafka-clients-0.11')
1919

20-
testImplementation group: 'org.apache.kafka', name: 'kafka-clients', version: '0.11.0.0'
21-
testImplementation group: 'org.apache.kafka', name: 'kafka-streams', version: '0.11.0.0'
22-
testImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '1.3.3.RELEASE'
23-
testImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '1.3.3.RELEASE'
24-
testImplementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
25-
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.19.0'
20+
testImplementation instrumentedLibs.kafka.clients.v011
21+
testImplementation instrumentedLibs.kafka.streams.v011
22+
testImplementation instrumentedLibs.spring.kafka.v13
23+
testImplementation instrumentedLibs.spring.kafka.test.v13
24+
testImplementation instrumentedLibs.jaxb.api.v22
25+
testImplementation instrumentedLibs.mockito.core.v219
2626

2727
// Include latest version of kafka itself along with latest version of client libs.
2828
// This seems to help with jar compatibility hell.
29-
latestDepTestImplementation group: 'org.apache.kafka', name: 'kafka_2.13', version: '2.+'
30-
latestDepTestImplementation group: 'org.apache.kafka', name: 'kafka-clients', version: '2.+'
31-
latestDepTestImplementation group: 'org.apache.kafka', name: 'kafka-streams', version: '2.+'
29+
latestDepTestImplementation instrumentedLibs.kafka.v213.latest.v2x
30+
latestDepTestImplementation instrumentedLibs.kafka.clients.latest.v2x
31+
latestDepTestImplementation instrumentedLibs.kafka.streams.latest.v2x
3232
// spring-kafka 2.8.x pulls in kafka-clients/streams 3.x which behaves differently
33-
latestDepTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.7+'
34-
latestDepTestImplementation group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '2.7+'
33+
latestDepTestImplementation instrumentedLibs.spring.kafka.v27plus
34+
latestDepTestImplementation instrumentedLibs.spring.kafka.test.v27plus
3535
}

dd-java-agent/instrumentation/kafka/kafka-streams-1.0/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ apply from: "$rootDir/gradle/java.gradle"
1212
addTestSuite('latestDepTest')
1313

1414
dependencies {
15-
compileOnly group: 'org.apache.kafka', name: 'kafka-streams', version: '1.0.0'
15+
compileOnly instrumentedLibs.kafka.streams.v10
1616
implementation project(':dd-java-agent:instrumentation:kafka:kafka-common')
1717
}

dd-java-agent/instrumentation/netty/netty-3.8/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ muzzle {
2323
addTestSuite('latestDepTest')
2424

2525
dependencies {
26-
compileOnly group: 'io.netty', name: 'netty', version: '3.8.0.Final'
26+
compileOnly instrumentedLibs.netty.v38
2727

28-
testImplementation group: 'io.netty', name: 'netty', version: '3.8.0.Final'
29-
testImplementation group: 'com.ning', name: 'async-http-client', version: '1.8.0'
28+
testImplementation instrumentedLibs.netty.v38
29+
testImplementation instrumentedLibs.async.http.client.ning.v18
3030

31-
latestDepTestImplementation group: 'io.netty', name: 'netty', version: '3.10.+'
32-
latestDepTestImplementation group: 'com.ning', name: 'async-http-client', version: '1.9.+'
31+
latestDepTestImplementation instrumentedLibs.netty.latest.v3x
32+
latestDepTestImplementation instrumentedLibs.async.http.client.ning.latest.v1x
3333
}
3434

3535
// We need to force the dependency to the earliest supported version because other libraries declare newer versions.

dd-java-agent/instrumentation/netty/netty-4.0/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ muzzle {
3636
addTestSuiteForDir('latestDepTest', 'test')
3737

3838
dependencies {
39-
compileOnly group: 'io.netty', name: 'netty-codec-http', version: '4.0.0.Final'
39+
compileOnly instrumentedLibs.netty.codec.http.v400
4040

4141
testImplementation project(':dd-java-agent:instrumentation:netty:netty-promise-4.0')
42-
testImplementation group: 'io.netty', name: 'netty-codec-http', version: '4.0.0.Final'
43-
testImplementation group: 'org.asynchttpclient', name: 'async-http-client', version: '2.0.0'
42+
testImplementation instrumentedLibs.netty.codec.http.v400
43+
testImplementation instrumentedLibs.async.http.client.v20
4444

45-
latestDepTestImplementation group: 'io.netty', name: 'netty-codec-http', version: '4.0.56.Final'
46-
latestDepTestImplementation group: 'org.asynchttpclient', name: 'async-http-client', version: '2.0.+'
45+
latestDepTestImplementation instrumentedLibs.netty.codec.http.v4056
46+
latestDepTestImplementation instrumentedLibs.async.http.client.v20plus
4747
}
4848

4949
// We need to force the dependency to the earliest supported version because other libraries declare newer versions.

dd-java-agent/instrumentation/netty/netty-4.1/build.gradle

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,25 @@ muzzle {
3636
addTestSuiteForDir('latestDepTest', 'test')
3737

3838
dependencies {
39-
compileOnly group: 'io.netty', name: 'netty-codec-http', version: '4.1.0.Final'
40-
compileOnly group: 'io.netty', name: 'netty-codec-http2', version: '4.1.0.Final'
39+
compileOnly instrumentedLibs.netty.codec.http.v410
40+
compileOnly instrumentedLibs.netty.codec.http2.v410
4141

4242
api project(':dd-java-agent:instrumentation:netty:netty-common')
4343

4444
testImplementation project(':dd-java-agent:instrumentation:netty:netty-promise-4.0')
4545
testImplementation project(':dd-java-agent:instrumentation:reactor-core-3.1')
4646
testImplementation project(':dd-java-agent:instrumentation:reactive-streams')
47-
testImplementation group: 'io.netty', name: 'netty-codec-http', version: '4.1.0.Final'
48-
testImplementation group: 'io.projectreactor.netty', name: 'reactor-netty', version: '0.8.0.RELEASE'
49-
testImplementation group: 'org.asynchttpclient', name: 'async-http-client', version: '2.1.0'
47+
testImplementation instrumentedLibs.netty.codec.http.v410
48+
testImplementation instrumentedLibs.reactor.netty.v08
49+
testImplementation instrumentedLibs.async.http.client.v21
5050

5151
// latest async-http-client incompatable with 5.0+ netty
52-
latestDepTestImplementation group: 'io.netty', name: 'netty-codec', version: '4.+'
53-
latestDepTestImplementation group: 'io.netty', name: 'netty-codec-http', version: '4.+'
54-
latestDepTestImplementation group: 'io.netty', name: 'netty-codec-http2', version: '4.+'
55-
latestDepTestImplementation group: 'io.netty', name: 'netty-codec-socks', version: '4.+'
52+
latestDepTestImplementation instrumentedLibs.netty.codec.latest
53+
latestDepTestImplementation instrumentedLibs.netty.codec.http.latest
54+
latestDepTestImplementation instrumentedLibs.netty.codec.http2.latest
55+
latestDepTestImplementation instrumentedLibs.netty.codec.socks.latest
5656

57-
latestDepTestImplementation group: 'org.asynchttpclient', name: 'async-http-client', version: '2.+'
57+
latestDepTestImplementation instrumentedLibs.async.http.client.latest
5858
}
5959

6060
// We need to force the dependency to the earliest supported version because other libraries declare newer versions.

dd-java-agent/instrumentation/netty/netty-buffer-4.0/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ addTestSuiteForDir('latestDep4Test', 'test')
1313
addTestSuiteForDir('latestDepTest', 'test')
1414

1515
dependencies {
16-
compileOnly group: 'io.netty', name: 'netty-buffer', version: '4.0.0.Final'
16+
compileOnly instrumentedLibs.netty.buffer.v400
1717

18-
testImplementation group: 'io.netty', name: 'netty-buffer', version: '4.0.0.Final'
18+
testImplementation instrumentedLibs.netty.buffer.v400
1919

20-
latestDep4TestImplementation group: 'io.netty', name: 'netty-buffer', version: '4.+'
21-
latestDepTestImplementation group: 'io.netty', name: 'netty-buffer', version: '+'
20+
latestDep4TestImplementation instrumentedLibs.netty.buffer.latest.v4x
21+
latestDepTestImplementation instrumentedLibs.netty.buffer.latest
2222
}
2323

2424
tasks.named("latestDepTest", Test) {

dd-java-agent/instrumentation/netty/netty-concurrent-4.0/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ addTestSuiteForDir('latestDep4Test', 'test')
1313
addTestSuiteForDir('latestDepTest', 'test')
1414

1515
dependencies {
16-
compileOnly group: 'io.netty', name: 'netty-common', version: '4.0.0.Final'
16+
compileOnly instrumentedLibs.netty.common.v400
1717

18-
testImplementation group: 'io.netty', name: 'netty-common', version: '4.0.0.Final'
18+
testImplementation instrumentedLibs.netty.common.v400
1919

20-
latestDep4TestImplementation group: 'io.netty', name: 'netty-common', version: '4.+'
21-
latestDepTestImplementation group: 'io.netty', name: 'netty-common', version: '+'
20+
latestDep4TestImplementation instrumentedLibs.netty.common.latest.v4x
21+
latestDepTestImplementation instrumentedLibs.netty.common.latest
2222
}
2323

2424
tasks.named("latestDepTest", Test) {

0 commit comments

Comments
 (0)