Hello! First time posting, so I hope I’m thorough. Ideally I’d like to find an existing solution, or confirm that it would be good to raise an Issue on the Open-Source Gatling repo to get this functionality added. If so, I’ve confirmed support with my boss at work to potentially take time to write the feature.
The functionality in question: Is it possible to “step” throttled load tests in a manner similar to incrementConcurrentUsers()? In local testing I’ve found that incrementConcurrentUsers() works as expected, but the example code below produced 10 requests rather than the expected 30. In turn, it seems to have “skipped” the steps involving 110 and 210 users. This is confirmed by the charts in the generated report.
`
setUp(
myScenario.inject(
incrementConcurrentUsers(100)
.times(3)
.eachLevelLasting(5 seconds)
.startingFrom(10)
).throttle(
reachRps(2) in (1 second),
holdFor(4 seconds)
)
).protocols(SomeService.httpProtocol)
---- Requests --------------------------------------------------------------
Global (OK=10 KO=0 )
…
`
Within the current Gatling docs (3.3), I couldn’t find an incrementConcurrentUsers() analogue for reachRps. Does anyone know a workaround, or know if I’d need to add and work on a new Github Issue on the Gatling Open-Source repo to implement something like this? Thank you very much for your time!
P.S. Additionally: I wonder if there’s a version of reachRps() that takes decimals as well? This indeed means that some systems under test are very low load, but it’d still be nice to be accurate to existing load trends if possible.