Skip to content

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