Loop over throttle to determine break point | Staircase Load Pattern

I am new to Gatling and scala.

I am trying to determine the break point of a system using gatling.

Presently, I am using below injection profile and changing the values after each simulation run.

scenarioBuilderPush.inject(constantUsersPerSec(100) during (10 seconds)).throttle(
reachRps(100) in (20 seconds),
holdFor(2 minute))

Changing the values manually and executing the simulation again consumes/waste the time.

I do not find any way to control the rps and increase it gradually.

The idea is to loop over the throttle and in each subsequent loop increase and hold on to the rps for sometime and keep on increasing until some condition is met (time duration, failure rate, response time etc). → Staircase Load Pattern

I found one such implementation for gatling-custom-dsls/ThrottleExtension.scala at master · meetpraveen/gatling-custom-dsls · GitHub
However, the report generated has some of the metrics missing when ran with Gatling 3.0.3 (report and simulation log attached).

simulation.log (1.23 KB)

Gatling Stats - Global Information.pdf (577 KB)

In Gatling, you should reason in terms of virtual users, not rps. Rps alone is utterly incomplete to define a load profile: what about connections rate?