Throttling for Custom Protocol not being observed


I’ve created my own custom protocol…example action:

val myAction1 = new ActionBuilder {
def build(next: ActorRef, protocols: Protocols) =
system.actorOf(Props(new MyCustomProtocol(next, “title here”)))

…and setup a scenario with throttling (pasted below).

It seems with custom protocol, Gatling is not observing the throttle configuration for “3 TPS”.

Is there something special I’m neglecting in the custom protocol implementation??



.inject(rampUsers(25) over (30 seconds))

.throttle(reachRps(3) in (30 seconds), holdFor(30 minutes))



As a related aside, I use the built in http protocol, the throttling config is observed by Gatling.

Thanks for everyone’s help!

Sorry for not mentioning the version.

Working with Gatling 2.0.3.

Thanks in advance :slight_smile:

Search for Throttler in Gatling’s source code.

Hi - I studied the Throttler in the source. If I’m understanding correctly this is the class that is used for certain when throttling http workloads…using for example: .throttle(reachRps(3) in (30 seconds), holdFor(30 minutes))

With my SOAP implementation this Throttler works very well…

However, with my custom protocol implementation the Throttler isn’t be used or somehow is not observing the syntax provided in the script (pasted above).

Any suggestions or special considerations I’m overlooking as next step? I am still doing some research but I am also suspecting with my custom protocol that my configured thread count (user count) isn’t being observed either (e.g. specified via rampUsers(25) over (30 seconds))

Thank you for guidance and advise on next steps of things I need to consider.

Look for Throttler usage in our code base.
Note that this is an internal API and subject to change.