Clone this wiki locally
How Gatling Works
Gatling's process is divided in three parts:
- Simulation Compilation
- Run Simulation
- Generate Reports
Next picture illustrates the global process and the tasks done during each part (Open in new windows if you cannot read):
Projects and Modules
The complete Gatling suite is made of 3 Maven projects and 9 Maven modules as illustrated below.
There are three projects because of licensing issues as explained here:
- Gatling is under Apache License
- Gatling VTD is under the GPL
- Gatling Highcharts is not Open Source
Therefore, you can only contribute code to Gatling and Gatling VTD. Concerning Gatling Highcharts, you can still file issues if you find any bug.
Application Programming Interfaces (APIs)
Gatling APIs allows developers to add components or even plugins to Gatling easily; they are shown below.
As you can see, there are no more than 7 APIs, some are more important than others of course. The 4 most notable APIs of Gatling are the Charting API, the Request API, the Feeder API and the Check API as they allow you to create plugins for Gatling. The 3 others offer functionalities that you can use in your plugins.
This is the API against which Gatling Highcharts is built; it allows one to build the chart reports with any charting library.
More information on the Charting API Page.
This is the API against which Gatling VTD is built; it allows one to add check methods in Gatling.
More information on the Checks API Page.
This API allows one to add sources and strategies for the Feeders. The only existing examples are in gatling-core for the moment.
More information on the Feeder API Page.
This API allows one to add support for other protocols in Gatling. It is used in gatling-http to add support for HTTP requests.
More information on the Request API Page.
The other APIs are small helpers to help you use some facilities of Gatling without having to code them. You are strongly advised to use as much Gatling's APIs when developing plugins. It will give some consistency to the Gatling Suite ecosystem.
Since version 1.0, there are three utility APIs:
- The Config API, used to manage the configuration of your plugin;
- The Logging API, used to manage the logs of your plugin;
- The Resources API, used to manage part of the life cycle of the closeable resources of your plugin.
More information on the Other APIs Page.