A Web Traffic Generator based on SURGE, Statistics and Locust.
In fact, it is expected that the input files for WTG-SEAL are the output files from SURGE, although one should be able to create their own files.
Installing with pip¶
To install the latest release of WTG-SEAL, just run
pip install wtg-seal
In order to generate your
locustfile.py using WTG-SEAL, you will
need of two text files formatted as follow:
A text file where each line describes a web document, which is defined
as a collection of one or more objects. For instance, a
with the following content:
1 5 8
maps to a document represented by a single file
1.txt and another
document represented by the files
8.txt. Each document
is identified by a sequential number (the order it appears on the file,
starting from 0).
Ideally, this is the
objout.txt file generated by SURGE.
Documents Requests Sequence¶
A text file where each line contains a document identifier (i.e an
integer) in the order they were to be requested to a web server. For
docseq.txt with the following content:
0 0 1 0
represents requests to documents 0, 0, 1, 0. This is used by WTG-SEAL to calculate the weight of each locust task.
Ideally, this is the
name.txt file generated by SURGE.
Considering the previous example, it would be necessary that files named
8.txt exist on a web-server to where the
requests will be made.
Generating web traffic¶
Once you have the appropriate files, just run
wtgseal docdef.txt docseq.txt
This will create a file in the current directory named
From here, you will rely on Locust to generate the web traffic towards a web server of your choice. Just run
and access the URL provided on your screen. For more information, see Locust documentation.
For contributing or making your own modifications to the source code, run:
git clone https://github.com/mchoji/wtg-seal.git cd wtg-seal pipenv install -e . pipenv install --dev
In order to make sure the hooks will run, please don’t forget to install
cd wtg-seal pipenv install --dev pipenv run pre-commit install # update the hooks to the latest version pipenv run pre-commit autoupdate
- Module Reference