Skip to content
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

buildkite: opentelemetry+elastic agent overhead benchmark on a weekly basis #3371

Merged
merged 34 commits into from Oct 27, 2023

Conversation

v1v
Copy link
Member

@v1v v1v commented Oct 18, 2023

What does this PR do?

Run the opentelemetry+elastic for the latest success build in main on weekly basis.

For such it uses the existing micro-benchmarks runners that are available in Buildkite.

Part of #3369

Test

This Buildkite build produced:

image

Checklist

  • This is an enhancement of existing features, or a new feature in existing plugins
    • I have updated CHANGELOG.asciidoc
    • I have added tests that prove my fix is effective or that my feature works
    • Added an API method or config option? Document in which version this will be introduced
    • I have made corresponding changes to the documentation
  • This is a bugfix
  • This is a new plugin
    • I have updated CHANGELOG.asciidoc
    • My code follows the style guidelines of this project
    • I have made corresponding changes to the documentation
    • I have added tests that prove my fix is effective or that my feature works
    • New and existing unit tests pass locally with my changes
    • I have updated supported-technologies.asciidoc
    • Added an API method or config option? Document in which version this will be introduced
    • Added an instrumentation plugin? Describe how you made sure that old, non-supported versions are not instrumented by accident.
  • This is something else

@mergify mergify bot mentioned this pull request Oct 18, 2023
19 tasks
@elastic-apm-tech elastic-apm-tech added this to In Progress in APM-Agents (OLD) Oct 18, 2023
@v1v v1v changed the title Feature/support benchmark otel in buildkite buildkite: opentelemetry+elastic agent overhead benchmark on a weekly basis Oct 18, 2023
@@ -1,4 +1,5 @@
# @reakaleek: This is a place holder to create the pipeline in Buildkite. I will work on it, in a follow-up.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrequired, only for testing purposes

so there is no need to built from sources but use the latest one
@@ -122,7 +122,7 @@ private void writeBulkFile(String resultFilePath) throws IOException {
final File file = new File(resultFilePath);
final FileWriter fileWriter = new FileWriter(file);
for (JsonNode benchmark : bechmarkResultJson) {
fileWriter.append("{ \"index\" : { \"_index\" : \"microbenchmarks\" } }\n");
fileWriter.append("{ \"index\" : { \"_index\" : \"otel-microbenchmarks\" } }\n");
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should help with using a specific index for this kind of overhead-benchmark. If the name of the index changes then it requires also changes in the elasticsearch role - so it can write to that particular new index.

v1v and others added 4 commits October 26, 2023 17:28
Co-authored-by: jackshirazi <jack.shirazi@elastic.co>
…/github.com/v1v/apm-agent-java into feature/support-benchmark-otel-in-buildkite

* 'feature/support-benchmark-otel-in-buildkite' of https://github.com/v1v/apm-agent-java:
  chore: more log groups to help with printing output
  common steps
  buildkite: notify in the channel
  run gh within the apm-agent-java context
  avoid login
  avoid load pipeline using pre-command
  fixes: To have GitHub CLI store credentials instead, first clear the value from the environment.
  improve: use gh and clone main with shallow cloning
  Update .buildkite/scripts/opentelemetry-benchmark.sh
  no retry
  chore: for testing purposes
  buildkite: run opentelemetry benchmark
…/github.com/elastic/apm-agent-java into feature/support-benchmark-otel-in-buildkite

* 'feature/support-benchmark-otel-in-buildkite' of https://github.com/elastic/apm-agent-java:
  Apply suggestions from code review
  consume github action artifact
  enable send benchmark
  feat: change index name
  chore
  chore: log
  reduce log levels for the maven thing
  fix: env variable and use the relative path to the jar file
  support generate ES docs
  chore: change logs
  add apm-server mock and tear down
  buildkite: prepare ES credentials
  use markdown format and add entry for reporting output
  buildkite: archive report
  buildkite: use annotations to visualise report
.github/workflows/main.yml Outdated Show resolved Hide resolved
@v1v v1v marked this pull request as ready for review October 26, 2023 16:20
@v1v v1v requested review from a team and jackshirazi October 26, 2023 16:20
@v1v v1v changed the base branch from main to 1.x October 26, 2023 19:58
@v1v v1v changed the base branch from 1.x to main October 26, 2023 19:59
@v1v v1v enabled auto-merge (squash) October 27, 2023 10:59
@v1v v1v merged commit e83573e into main Oct 27, 2023
16 of 22 checks passed
APM-Agents (OLD) automation moved this from In Progress to Done Oct 27, 2023
@v1v v1v deleted the feature/support-benchmark-otel-in-buildkite branch October 27, 2023 11:08
v1v added a commit to v1v/apm-agent-java that referenced this pull request Oct 27, 2023
* 'main' of https://github.com/elastic/apm-agent-java: (35 commits)
  buildkite: opentelemetry+elastic agent overhead benchmark on a weekly basis (elastic#3371)
  ci(action): remove unrequired action (elastic#3387)
  Bump org.springframework.boot:spring-boot-dependencies from 2.7.16 to 3.1.5 (elastic#3380)
  ci(action): archive benchmarks.jar (elastic#3386)
  remove noise (elastic#3385)
  Process otel benchmark (elastic#3384)
  Update tests for Jedis 5 (elastic#3382)
  added entry to community plugins (elastic#3383)
  added capturing s3 otel attributes from lamba S3Event (elastic#3364)
  Bump version.log4j from 2.12.4 to 2.21.0 (elastic#3366)
  Fix aws sdk instrumentation (elastic#3373)
  action: remove leftover from Jenkins (elastic#3368)
  Bump org.apache.logging.log4j:log4j-bom from 2.20.0 to 2.21.0 (elastic#3367)
  Bump io.micrometer:micrometer-core from 1.11.4 to 1.11.5 (elastic#3360)
  Add guard against invalid end timestamps (elastic#3363)
  Added otel to dependabot config, upgraded dependencies (elastic#3359)
  Bump version.byte-buddy from 1.14.8 to 1.14.9 (elastic#3361)
  Fix off-by-one error in tests which effectively disabled recycling validation (elastic#3357)
  Fix multiple spans being created for HTTPUrlConnection HEAD requests (elastic#3353)
  Bump org.ow2.asm:asm-tree from 9.5 to 9.6 (elastic#3349)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants