kvmrbdfio ignores time_based from YAML
- Dominant language
- Python
- Stars
- 307
- Forks
- 151
- Avg merge
- 14d 23h
- Merged PRs (30d)
- 1
Description
Currently, librbdfio honors `time_based: True` from the benchmark YAML and passes `--time_based` to fio.
kvmrbdfio does not. It always passes `--runtime=` and `--size=`, and it only adds `--time_based` when `recovery_test` is set.
Without `--time_based`, fio treats `--runtime` as a maximum. The job still stops when `--size=` is filled. Sequential write/read of a modest image can finish in a few seconds even when YAML asked for a any seconds sample.
That makes `librbdfio` vs `kvmrbdfio` comparisons with the same `time` / `time_based` YAML invalid: one path ran for the full window, the other may not have.
Even with:
```yaml
benchmarks:
kvmrbdfio:
time: 60
time_based: True
```
fio should run for 60 seconds (--runtime=60 --time_based), same as librbdfio, I personally faced this a benchmarking limitation while running cbt for my own ceph cluster.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the kvmrbdfio entry point that converts benchmark YAML into fio arguments, then compare its handling of time_based with librbdfio. Verify the YAML example produces --runtime=60 together with --time_based, and confirm the benchmark runs for the requested time window.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 70/100