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

Migrate nightly benchmarks to GH Actions #11071

Merged
merged 3 commits into from
Jun 30, 2023

Conversation

reakaleek
Copy link
Member

@reakaleek reakaleek commented Jun 26, 2023

Motivation/summary

Migrate nightly benchmarks from Jenkins to GH Actions

How to test these changes

Tested here: https://github.com/elastic/apm-server/actions/runs/5412428491

@mergify
Copy link
Contributor

mergify bot commented Jun 26, 2023

This pull request does not have a backport label. Could you fix it @reakaleek? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-7.x is the label to automatically backport to the 7.x branch.
  • backport-7./d is the label to automatically backport to the 7./d branch. /d is the digit

NOTE: backport-skip has been added to this pull request.

@mergify mergify bot added the backport-skip Skip notification from the automated backport with mergify label Jun 26, 2023
@apmmachine
Copy link
Contributor

apmmachine commented Jun 26, 2023

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2023-06-30T08:49:41.976+0000

  • Duration: 10 min 2 sec

🤖 GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /package : Generate and publish the docker images.

  • /test windows : Build & tests on Windows.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@apmmachine
Copy link
Contributor

apmmachine commented Jun 26, 2023

📚 Go benchmark report

Diff with the main branch

goos: linux
goarch: amd64
pkg: github.com/elastic/apm-server/internal/agentcfg
cpu: 12th Gen Intel(R) Core(TM) i5-12500
                                  │ build/main/bench.out │             bench.out             │
                                  │        sec/op        │   sec/op     vs base              │
geomean                                      66.58n        66.55n       -0.04%

                                  │ build/main/bench.out │             bench.out              │
                                  │         B/op         │    B/op     vs base                │
geomean                                                ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                  │ build/main/bench.out │             bench.out              │
                                  │      allocs/op       │ allocs/op   vs base                │
geomean                                                ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/elastic/apm-server/internal/beater/request
                                             │ build/main/bench.out │              bench.out              │
                                             │        sec/op        │    sec/op     vs base               │
ContextReset/X-Forwarded-For_ipv4-12                   772.6n ± 43%   545.8n ± 33%  -29.37% (p=0.009 n=6)
geomean                                                902.6n         892.3n         -1.14%

                                             │ build/main/bench.out │              bench.out               │
                                             │         B/op         │     B/op      vs base                │
geomean                                                           ²                 +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                             │ build/main/bench.out │             bench.out              │
                                             │      allocs/op       │ allocs/op   vs base                │
geomean                                                           ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/elastic/apm-server/internal/publish
             │ build/main/bench.out │          bench.out          │
             │        sec/op        │   sec/op    vs base         │

             │ build/main/bench.out │           bench.out            │
             │         B/op         │     B/op       vs base         │

             │ build/main/bench.out │           bench.out           │
             │      allocs/op       │  allocs/op    vs base         │

pkg: github.com/elastic/apm-server/x-pack/apm-server/aggregation/spanmetrics
                 │ build/main/bench.out │          bench.out           │
                 │        sec/op        │   sec/op     vs base         │

                 │ build/main/bench.out │            bench.out            │
                 │         B/op         │     B/op      vs base           │
¹ all samples are equal

                 │ build/main/bench.out │           bench.out           │
                 │      allocs/op       │ allocs/op   vs base           │
¹ all samples are equal

pkg: github.com/elastic/apm-server/x-pack/apm-server/aggregation/txmetrics
                        │ build/main/bench.out │          bench.out           │
                        │        sec/op        │   sec/op     vs base         │

                        │ build/main/bench.out │           bench.out           │
                        │         B/op         │    B/op     vs base           │
¹ all samples are equal

                        │ build/main/bench.out │           bench.out           │
                        │      allocs/op       │ allocs/op   vs base           │
¹ all samples are equal

pkg: github.com/elastic/apm-server/x-pack/apm-server/sampling
               │ build/main/bench.out │             bench.out              │
               │        sec/op        │    sec/op     vs base              │
geomean                  408.2n         433.9n        +6.29%

               │ build/main/bench.out │              bench.out               │
               │         B/op         │     B/op      vs base                │
geomean                    375.9          379.5       +0.96%
¹ all samples are equal

               │ build/main/bench.out │             bench.out              │
               │      allocs/op       │ allocs/op   vs base                │
geomean                    4.123        4.123       +0.00%
¹ all samples are equal

pkg: github.com/elastic/apm-server/x-pack/apm-server/sampling/eventstorage
                                            │ build/main/bench.out │              bench.out              │
                                            │        sec/op        │    sec/op      vs base              │
geomean                                              14.84µ           15.40µ        +3.80%

                                            │ build/main/bench.out │               bench.out               │
                                            │         B/op         │     B/op       vs base                │
ReadEvents/json_codec_big_tx/1_events-12             4.915Ki ±  0%   4.921Ki ±  0%  +0.13% (p=0.002 n=6)
geomean                                              11.31Ki         11.34Ki        +0.30%
¹ all samples are equal

                                            │ build/main/bench.out │              bench.out              │
                                            │      allocs/op       │  allocs/op   vs base                │
geomean                                                 127.4         127.4       +0.00%
¹ all samples are equal

report generated with https://pkg.go.dev/golang.org/x/perf/cmd/benchstat

@reakaleek reakaleek self-assigned this Jun 27, 2023
@reakaleek reakaleek force-pushed the feature/migrate-benchmarks-to-gh-actions branch from b71ef66 to aff7709 Compare June 29, 2023 19:43
@mergify
Copy link
Contributor

mergify bot commented Jun 29, 2023

This pull request is now in conflicts. Could you fix it @reakaleek? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/

git fetch upstream
git checkout -b feature/migrate-benchmarks-to-gh-actions upstream/feature/migrate-benchmarks-to-gh-actions
git merge upstream/main
git push upstream feature/migrate-benchmarks-to-gh-actions

@reakaleek reakaleek force-pushed the feature/migrate-benchmarks-to-gh-actions branch from aff7709 to ab0f92d Compare June 29, 2023 19:44
@reakaleek reakaleek requested review from a team June 29, 2023 19:44
@reakaleek reakaleek force-pushed the feature/migrate-benchmarks-to-gh-actions branch from ab0f92d to 726e56f Compare June 29, 2023 19:48
@reakaleek reakaleek marked this pull request as ready for review June 29, 2023 19:50
@reakaleek reakaleek changed the title Add initial benchmarks workflow WIP Migrate nightly benchmarks to GH Actions Jun 29, 2023
Copy link
Member

@kruskall kruskall left a comment

Choose a reason for hiding this comment

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

THANK YOU

Copy link
Member

@axw axw left a comment

Choose a reason for hiding this comment

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

😍 ++ thank you!

Would it theoretically be possible for us to add workflow_dispatch later? I would love to be able to easily trigger the benchmarks off an arbitrary branch.

.github/workflows/benchmarks.yml Outdated Show resolved Hide resolved
Co-authored-by: Andrew Wilkins <axw@elastic.co>
@reakaleek
Copy link
Member Author

😍 ++ thank you!

Would it theoretically be possible for us to add workflow_dispatch later? I would love to be able to easily trigger the benchmarks off an arbitrary branch.

Yes, I was planning to do this in a follow up and discuss with you. But since you already mentioned workflow_dispatch. That will be the way to go.

@reakaleek reakaleek merged commit c1e0446 into main Jun 30, 2023
@reakaleek reakaleek deleted the feature/migrate-benchmarks-to-gh-actions branch June 30, 2023 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-skip Skip notification from the automated backport with mergify
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants