opentelemetry-java-instrume.../benchmark-integration
Nikita Salnikov-Tarnovski 7d77b2dc37
Prefer mavenCentral over jcenter (#1440)
* Prefer mavenCentral over jcenter

* Skip broken version for muzzle
2020-10-21 18:59:29 +03:00
..
jetty-perftest Use 2-line license header to match SDK repo (#1321) 2020-10-05 14:29:56 +09:00
play-perftest Prefer mavenCentral over jcenter (#1440) 2020-10-21 18:59:29 +03:00
README.md Simplify directory/module structure (#77) 2020-01-22 13:55:47 -08:00
benchmark-integration.gradle Prefer mavenCentral over jcenter (#1440) 2020-10-21 18:59:29 +03:00
perf-test-default-settings.rc Simplify directory/module structure (#77) 2020-01-22 13:55:47 -08:00
run-perf-test.sh Scripted package renaming (#988) 2020-08-15 21:55:01 -07:00

README.md

Java Agent Performance Tests

Integration level performance tests for the Java Agent.

Perf Script Dependencies

run-perf-test.sh requires the following (available on homebrew or a linux package manager):

  • bash (>=4.0)
  • wrk
  • nc

Running a Test

  1. Build the shadow jar or the distribution zip for the server you wish to test against.
  2. Run the performance test script passing in the agent jars you wish to test.
  3. (optional) Save test results csv and ponder the great mysteries of performance optimization.

Example

Jetty

./gradlew java-agent:benchmark-integration:jetty-perftest:shadowJar
# Compare a baseline (no agent) to the 0.18.0 and 0.19.0 releases.
/usr/local/bin/bash ./run-perf-test.sh jar jetty-perftest/build/libs/jetty-perftest-*-all.jar NoAgent ~/Downloads/dd-java-agent-0.18.0.jar ~/Downloads/dd-java-agent-0.19.0.jar
cp /tmp/perf_results.csv ~/somewhere_else/

Play

./gradlew :java-agent:benchmark-integration:play-perftest:dist
# Compare a baseline (no agent) to the 0.18.0 and 0.19.0 releases.
/usr/local/bin/bash ./run-perf-test.sh play-zip play-perftest/build/distributions/playBinary NoAgent ~/Downloads/dd-java-agent-0.18.0.jar ~/Downloads/dd-java-agent-0.19.0.jar
cp /tmp/perf_results.csv ~/somewhere_else/