opentelemetry-java-instrume.../java-agent/benchmark-integration
Trask Stalnaker 80d36902a0
Initial work towards using OpenTelemetry API directly from instrumentation (#55)
* Rename setTag to setAttribute

* Deprecate Agent API

* Update base decorators

* Update akka-http

* Update google-http-client

* Update apache-httpasyncclient

* Update aws-java-sdk-1.11.0

* Update apache-httpclient

* Add SpanScopePair

* Shade OpenTelemetry usage in instrumentation

* Temp: exclude base decorators from code coverage

* Update datastax-cassandra

* Update dropwizard

* Update elasticsearch

* Update couchbase-2.0 and rxjava friends

* Update couchbase-2.6
2020-01-15 17:53:41 -08:00
..
jetty-perftest Initial work towards using OpenTelemetry API directly from instrumentation (#55) 2020-01-15 17:53:41 -08:00
play-perftest Initial work towards using OpenTelemetry API directly from instrumentation (#55) 2020-01-15 17:53:41 -08:00
README.md Rename package to io.opentelemetry.auto (#54) 2020-01-14 13:57:01 -08:00
benchmark-integration.gradle Rename package to io.opentelemetry.auto (#54) 2020-01-14 13:57:01 -08:00
perf-test-default-settings.rc Rename package to io.opentelemetry.auto (#54) 2020-01-14 13:57:01 -08:00
run-perf-test.sh Rename package to io.opentelemetry.auto (#54) 2020-01-14 13:57:01 -08: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/