Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion benchmark/load/petclinic/k6.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export const options = function (variants) {
scenarios[`load--petclinic--${variant}--warmup`] = {
executor: 'constant-vus', // https://grafana.com/docs/k6/latest/using-k6/scenarios/executors/#all-executors
vus: 5,
duration: '165s',
duration: '5m',
gracefulStop: '2s',
env: {
"APP_URL": variants[variant]["APP_URL"]
Expand Down
195 changes: 120 additions & 75 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,120 +1,165 @@
[versions]
slf4j = "1.7.30"
# The ranges are needed to allow instrumentation tests to specify the desired version.
guava = "[16.0,20.0]" # Last version to support Java 7
# NOTE: Ranges for some versions are needed to allow instrumentation tests to specify the desired version.

# Build
develocity = "4.2.2"

# DataDog libs and forks
ddprof = "1.34.0"
dogstatsd = "4.4.3"
okhttp = "3.12.15" # Datadog fork to support Java 7
okhttp-legacy = "[3.0,3.12.12]" # 3.12.x is last version to support Java7
okio = "1.17.6" # Datadog fork

spock = "2.4-M6-groovy-3.0"
# Languages
## Groovy
groovy = "3.0.24"
junit5 = "5.12.2"
junit-platform = "1.12.2"
logback = "1.2.13"
bytebuddy = "1.17.7"
instrumentjava = "0.0.2"

## Kotlin
kotlin = "1.6.21"
kotlin-plugin = "1.9.24"
kotlinx-coroutines = "1.3.0"

## Scala
scala = "2.11.12" # Last version to support Java 7 (2.12+ require Java 8+)
scala211 = "2.11.12"
scala212 = "2.12.18"
scala213 = "2.13.11"
scala33 = "3.3.0"
kotlin = "1.6.21"
kotlin-plugin = "1.9.24"
coroutines = "1.3.0"
dogstatsd = "4.4.3"
jnr-unixsocket = "0.38.22"
jnr-posix = '3.1.19'
commons = "3.2"
mockito = '4.4.0'
jctools = '3.3.0'
moshi = '1.11.0'
testcontainers = '1.21.3'
jmc = "8.1.0"

# Bytecode manipulations & codegen
autoservice = "1.1.1"
ddprof = "1.34.0"
asm = "9.9"
byte-buddy = "1.17.7"
instrument-java = "0.0.2"

# Benchmarks
jmh = "1.37"

# Profiling
jmc = "8.1.0"

# Web & Network
jnr-posix = "3.1.19"
jnr-unixsocket = "0.38.22"
okhttp-legacy = "[3.0,3.12.12]" # 3.12.x is last version to support Java7
okio = "1.17.6" # Datadog fork

# Cryptography
cafe_crypto = "0.1.0"

# Common utils
commons = "3.2"
guava = "[16.0,20.0]" # Last version to support Java 7
jctools = "3.3.0"
lz4 = "1.7.1"
jmh = "1.37"

# Logging
slf4j = "1.7.30"
logback = "1.2.13"

# JSON
jackson = "2.20.0"
develocity = "4.2.2"
moshi = "1.11.0"

# Testing
junit5 = "5.12.2"
junit-platform = "1.12.2"
mockito = "4.4.0"
spock = "2.4-M6-groovy-3.0"
testcontainers = "1.21.3"

[libraries]
slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
guava = { module = "com.google.guava:guava", version.ref = "guava" }
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
jctools = { module = "org.jctools:jctools-core", version.ref = "jctools" }
# Build
develocity = { module = "com.gradle:develocity-gradle-plugin", version.ref = "develocity" }

# DataDog libs and forks
ddprof = { module = "com.datadoghq:ddprof", version.ref = "ddprof" }
dogstatsd = { module = "com.datadoghq:java-dogstatsd-client", version.ref = "dogstatsd" }
okhttp = { module = "com.datadoghq.okhttp3:okhttp", version.ref = "okhttp" }
okio = { module = "com.datadoghq.okio:okio", version.ref = "okio" }
bytebuddy = { module = "net.bytebuddy:byte-buddy", version.ref = "bytebuddy" }
bytebuddyagent = { module = "net.bytebuddy:byte-buddy-agent", version.ref = "bytebuddy" }
instrumentjava = { module = "com.datadoghq:dd-instrument-java", version.ref = "instrumentjava" }

# Languages
## Groovy
groovy = { module = "org.codehaus.groovy:groovy-all", version.ref = "groovy" }
groovy-yaml = { module = "org.codehaus.groovy:groovy-yaml", version.ref = "groovy" }

## Kotlin
kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }

## Scala
scala = { module = "org.scala-lang:scala-library", version.ref = "scala" }
scala211 = { module = "org.scala-lang:scala-library", version.ref = "scala211" }
scala212 = { module = "org.scala-lang:scala-library", version.ref = "scala212" }
scala213 = { module = "org.scala-lang:scala-library", version.ref = "scala213" }
scala33 = { module = "org.scala-lang:scala3-library_3", version.ref = "scala33" }

# Bytecode manipulations & codegen
autoservice-processor = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" }
autoservice-annotation = { module = "com.google.auto.service:auto-service-annotations", version.ref = "autoservice" }
commons-math = { module = "org.apache.commons:commons-math3", version.ref = "commons" }
ddprof = { module = "com.datadoghq:ddprof", version.ref = "ddprof" }
asm = { module = "org.ow2.asm:asm", version.ref = "asm" }
asm-commons = { module = "org.ow2.asm:asm-commons", version.ref = "asm" }
asm-tree = { module = "org.ow2.asm:asm-tree", version.ref = "asm" }
asm-util = { module = "org.ow2.asm:asm-util", version.ref = "asm" }
asmcommons = { module = "org.ow2.asm:asm-commons", version.ref = "asm" }
dogstatsd = { module = "com.datadoghq:java-dogstatsd-client", version.ref = "dogstatsd" }
bytebuddy = { module = "net.bytebuddy:byte-buddy", version.ref = "byte-buddy" }
bytebuddyagent = { module = "net.bytebuddy:byte-buddy-agent", version.ref = "byte-buddy" }
instrumentjava = { module = "com.datadoghq:dd-instrument-java", version.ref = "instrument-java" }

# Profiling
jmc-common = { module = "org.openjdk.jmc:common", version.ref = "jmc" }
jmc-flightrecorder = { module = "org.openjdk.jmc:flightrecorder", version.ref = "jmc" }

# Web & Network
okio = { module = "com.datadoghq.okio:okio", version.ref = "okio" }
jnr-unixsocket = { module = "com.github.jnr:jnr-unixsocket", version.ref = "jnr-unixsocket"}

# Cryptography
cafe-crypto-ed25519 = { module = "cafe.cryptography:ed25519-elisabeth", version.ref = "cafe_crypto" }
cafe-crypto-curve25519 = { module = "cafe.cryptography:curve25519-elisabeth", version.ref = "cafe_crypto" }

# Common utils
aircompressor = { module = "io.airlift:aircompressor", version = "2.0.2"} # aircompressor v3 requires Java 22
commons-math = { module = "org.apache.commons:commons-math3", version.ref = "commons" }
guava = { module = "com.google.guava:guava", version.ref = "guava" }
jctools = { module = "org.jctools:jctools-core", version.ref = "jctools" }
lz4 = { module = "org.lz4:lz4-java", version.ref = "lz4" }
# aircompressor v3 requires Java 22
aircompressor = { module = 'io.airlift:aircompressor', version = '2.0.2'}

# Testing
spock-core = { module = "org.spockframework:spock-core", version.ref = "spock" }
spock-junit4 = { module = "org.spockframework:spock-junit4", version.ref = "spock" }
spock-spring = { module = "org.spockframework:spock-spring", version.ref = "spock" }
objenesis = { module = "org.objenesis:objenesis", version = "3.3" } # Used by Spock for mocking:
# Logging
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
logback-core = { module = "ch.qos.logback:logback-core", version.ref = "logback" }
log4j-over-slf4j = { module = "org.slf4j:log4j-over-slf4j", version.ref = "slf4j" }
jcl-over-slf4j = { module = "org.slf4j:jcl-over-slf4j", version.ref = "slf4j" }
jul-to-slf4j = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" }
slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }

groovy = { module = "org.codehaus.groovy:groovy-all", version.ref = "groovy" }
groovy-yaml = { module = "org.codehaus.groovy:groovy-yaml", version.ref = "groovy" }
# JSON
jackson-databind = {module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson"}
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }

# Testing
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit5" }
junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit5" }
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit-platform" }

mokito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
mokito-junit-jupiter = { module = "org.mockito:mockito-junit-jupiter", version.ref = "mockito" }

objenesis = { module = "org.objenesis:objenesis", version = "3.3" } # Used by Spock for mocking:
spock-core = { module = "org.spockframework:spock-core", version.ref = "spock" }
spock-junit4 = { module = "org.spockframework:spock-junit4", version.ref = "spock" }
spock-spring = { module = "org.spockframework:spock-spring", version.ref = "spock" }
testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers" }
testcontainers-localstack = { module = "org.testcontainers:localstack", version.ref = "testcontainers" }

logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
logback-core = { module = "ch.qos.logback:logback-core", version.ref = "logback" }

log4j-over-slf4j = { module = "org.slf4j:log4j-over-slf4j", version.ref = "slf4j" }
jcl-over-slf4j = { module = "org.slf4j:jcl-over-slf4j", version.ref = "slf4j" }
jul-to-slf4j = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" }

scala = { module = "org.scala-lang:scala-library", version.ref = "scala" }
scala211 = { module = "org.scala-lang:scala-library", version.ref = "scala211" }
scala212 = { module = "org.scala-lang:scala-library", version.ref = "scala212" }
scala213 = { module = "org.scala-lang:scala-library", version.ref = "scala213" }
scala33 = { module = "org.scala-lang:scala3-library_3", version.ref = "scala33" }
kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }

jmc-common = { module = "org.openjdk.jmc:common", version.ref = "jmc" }
jmc-flightrecorder = { module = "org.openjdk.jmc:flightrecorder", version.ref = "jmc" }
[bundles]
# Bytecode manipulations & codegen
asm = ["asm", "asm-commons"]
cafe-crypto = ["cafe-crypto-curve25519", "cafe-crypto-ed25519"]

jackson-databind = {module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson"}
# Profiling
jmc = ["jmc-common", "jmc-flightrecorder"]

develocity = { module = "com.gradle:develocity-gradle-plugin", version.ref = "develocity" }
# Logging
test-logging = ["logback-classic", "log4j-over-slf4j", "jcl-over-slf4j", "jul-to-slf4j"]

[bundles]
asm = ["asm", "asmcommons"]
cafe-crypto = ["cafe-crypto-curve25519", "cafe-crypto-ed25519"]
# Testing
spock = ["spock-core", "objenesis"]
junit5 = ["junit-jupiter", "junit-jupiter-params"]
junit-platform = ["junit-platform-launcher"]
mockito = ["mokito-core", "mokito-junit-jupiter", "bytebuddy", "bytebuddyagent"]
test-logging = ["logback-classic", "log4j-over-slf4j", "jcl-over-slf4j", "jul-to-slf4j"]

jmc = ["jmc-common", "jmc-flightrecorder"]
spock = ["spock-core", "objenesis"]