-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add opentelemetry+elastic agent overhead benchmark on a weekly basis #3369
Comments
Here's a script that will run all the current agents (baseline, otel release, otel snapshot, elastic release, elastic snapshot, elastic release async) on a new VM (script requires github token access set in variables
|
Here's the output from a run - the script will need adjusting to provide that somewhere in a CSV or JSON format so that we can see trends. Note this run is on a VM which is running on a shared host, so variability could be down to resource conflicts. The weekly script needs to be on an isolated dedicated host
|
Note the otel tests include a collector, the elastic tests need to include a mock apm server (eg the one in this project tests should work |
@v1v this is the test we'd like to run on an isolated specific hardware configuration. The suggested |
A few questions:
What's the reason for sudo? I cannot see anything related to sudo in https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/benchmark-overhead#setup-and-usage
Can you provide the set of steps to run the mock apm-server? So far I managed to test the above-mentioned steps in Buildkite, see https://buildkite.com/elastic/apm-agent-java-load-testing/builds/147#018b446f-ba68-4049-9a8e-78b07b3d4eb3 Those steps have been coded in #3371 |
I didn't actually try to solve why it failed without sudo, but the docker images wouldn't run. It's probably something to do with the docker install, it might not be the best choice of docker install.
Will do, I'll update the script when I get there |
For adding the APM mock server, we need to do this before the test (eg anytime after docker is installed but before the test is run)
and return to the root directory for the test script. Then at the end of the test for cleanup, we want to stop and remove the image
|
The class in #3384 will process the output and convert it for sending to ES the same way that PostProcessBenchmarkResults in run-benchmarks does |
There's one further change to the existing script, these 3 bash variables need to be changed to these
|
And the final steps are to add during setup
and then after the benchmark is run
|
Status updateAll the bits and pieces have been put in place and this build ran successfully and ingested the documents in the Index name: There is just one minor improvement to help with using the benchmarks.jar rather than building them from source code. See #3386 The reason is that we already use the GitHub api/cli to fetch |
I've started to see some failures when integrating a couple of new changes:
@jackshirazi , do you happen to know what's the reason? |
It worked in the next run https://buildkite.com/elastic/apm-agent-java-load-testing/builds/179, maybe some weird environmental issue, to help with I added the archiving for the |
I don't know what the failure was, and that index.html file won't help, it's the result file |
Completed with #3371 . I'll spin out 2 subsequent tasks, the dashboard and adding continuous profiling |
The opentelemetry overhead benchmark is easily configurable to add in the Elastic agent, so is a nice one to run on a weekly basis
The text was updated successfully, but these errors were encountered: