Skip to content

RUBY-1250 Run DriverBench benchmarks in Evergreen #2827

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

Merged
merged 11 commits into from
Jan 25, 2024

Conversation

jamis
Copy link
Contributor

@jamis jamis commented Jan 22, 2024

This is a large PR, primarily new files, though most of the new files are small.

The main files to consider are:

  • DriverBench::Suite in profile/driver_bench/suite.rb
  • DriverBench::Base in profile/driver_bench/base.rb

The benchmarks are run via DriverBench::Suite, which accumulates the results, computes the scores, and ultimately emits the results as a JSON file. The JSON file is then sent to the evergreen performance plugin via perf.send.

Each benchmark is ultimately a subclass of DriverBench::Base. The core of the benchmark is implemented in the do_task method, which DriverBench::Base#run_benchmark invokes. Other lifecycle hooks (setup, before_task, after_task, and teardown) are used as described in the specification, to manage the state of the benchmark.

@jamis jamis requested a review from comandeo January 23, 2024 20:33
@jamis jamis merged commit 3329f15 into mongodb:master Jan 25, 2024
@jamis jamis deleted the 1250-benchmarks-to-evergreen branch January 25, 2024 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants