Skip to content

Showcases how to create custom DSL extension for various DSL types.

Notifications You must be signed in to change notification settings

meetpraveen/gatling-custom-dsls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

gatling-custom-dsls

Default DSLs are very powerful tools to build up a load scenario to match the requirements. However as we dig deeper into it, there will be need to extend it to match your requirement. Not everything can fold back to the OoB set. With this project, my aim is to showcase how to extend the existing ones, maybe over time with enough pulls it might fold back to the original.

Extending checks -

Checks are the basic validation blocks in gatling scenarios. A lot can be done on the reponse using the check extractors like find and transform (which is the best option if you don't want to extend the DSL and work around the existing DSL). The example here shows how we use the checks and push the extracted response to a queue.

Extending throttling -

Throttling support has come as a boon for service charecterization. Benchmarking of the services is an important part to charecterize it. And one of the important parameters for benchmarking is the load a stateless service can take. For a stateless service the load is almost always measured in the RPS terms. Concurrent session is important, but the measure of how many request per second a service can handle is almost always more pertinent.

There can be various use cases to extend it, the example here shows how we can have a continuous ramp up of the throttling RPS.

Producer-consumer contract parallel scenarios -

Scenarios in gatling by default run in parallel. This is good but, if one has a producer/consumer kind of service supported by multiple workers and we have to develop detached scenarios for producers and consumers we need some kind of blocked/waiting support across scenarios. A combination of pushToQueue and withPolledRecord gives this. This in its part describes how to create your own execute blocks.

About

Showcases how to create custom DSL extension for various DSL types.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages