I have a special use case (but I am pretty sure I am not the only guy with this need ) which is currently very difficult to implement with Gatling today.
This use case is mainly for Capacity Planning benchmarks to progressively and gradually increase the number of concurrent users during a benchmark to be able to find the maximum number of concurrent users which can be managed by a given infrastructure with an acceptable Response Time.
Here is an example of what I have in mind :
Execute this scenario with a maximum of 10 000 concurrent users and to reach this number of users, start 100 more users each 3 minutes with a ramp of 30 seconds.
When the 10 000 concurrent users are started, keep running for 3 minutes then stop.
which could be translated in Gatling DSL with something like :
As I explained to Arnaud, the main issue is with the DSL design. Once weâll have all agreed on its shape, implementation should be quite easy.
While I perfectly understand your need, Iâd like to get a more generic API that would let us build any users and/or rates shape.
For example, what you propose doesnât provide a solution for overloading tests (have a huge load, then return to a normal one and see if your system can return to a safe state).
Another example: some people are more interested in a rate injection: 5 users/sec for 10 minutes, then 10 users/sec for 20 mins, etcâŠ
You also propose that users have a lifetime. Iâd like to have more feedback on this from other users.