A runner.yaml file is used by the wrapper script in the Docker image to manage benchmark execution. This file must be placed in the same folder as your benchmark configuration files. It supports two modes of operation:
1. Unordered Tests (unordered_tests)
Runs all benchmarks in the folder in an arbitrary order. This mode ensures that tests accessing the same Bigtable instance run one at a time to prevent interference.
2. Ordered Tests (ordered_tests)
Runs benchmarks in specific stages. Benchmarks in a later stage start only after all previous stages are finished. Benchmarks within the same stage run concurrently (even if they use the same Bigtable instance).
You can also specify common flags for all benchmarks using the pkb_flags block. Note that these flags can be overridden by flags defined within individual benchmark configs.
# Example: Unordered mode
runner:
unordered_tests:
num_iterations: <number of iterations per benchmark>
concurrency: <max number of benchmarks that can be run in parallel>
pkb_flags:
<common_flag_1>: <value_1>
# Example: Ordered mode
runner:
ordered_tests:
- <stage_0_benchmarks> # space-separated benchmark configs for the first stage
- <stage_1_benchmarks> # space-separated benchmark configs for the second stage
pkb_flags:
<common_flag_1>: <value_1>