benchmark icon indicating copy to clipboard operation
benchmark copied to clipboard

[Feature] Track benchmark phase transitions

Open teabot opened this issue 3 years ago • 0 comments

Motivation

We would like to have the ability to set the produce throughput adaptively according to the phase of the benchmark. For example, in a general load test we might want to attain the highest producer rate that does not incur any producer or consumer backlog. However, when filling a consumer backlog would not want the producer to back-off if the consumer backlog grows. In a later PR we will introduce a ProducerRateController interface and move rate controls into one or more implementations. The phase introduced here will be one of the signals that the controller can use to determine rate adjustments.

Changes

  • Introduced BenchmarkPhase enum
  • Introduced a field in the WorkloadGenerator to track the current phase
  • Added phase transitions in the WorkloadGenerator

teabot avatar Oct 06 '22 16:10 teabot