- Prerequisites: Linux and root shell
- Install nix with
./install.sh
- Enter nix devshell with
nix develop - Run the tool with
task
task clean- Clean generated datatask jupyter-lab- Run Jupyter Lab for analysistask download-top-websites- Download top websitestask top-n-websites- Limit to top N websitestask scrape- Scrape websites and collect datatask load-model- Generate load model from scraped datatask scrape-stats- Generate statistics on scraped data
task build-bins- Build necessary binaries for emulationtask emulate- Run website loading emulation based on models
Example:
# Run emulation with custom model and output file
task emulate MODEL_PATH=data/example/model.json OUTPUT_FILE=results.csv NUM_ITERATIONS=5Configuration variables for emulation:
MODEL_PATH: Path to the IML model file (required)OUTPUT_FILE: Path to save benchmark results (default: benchmark_results.csv)NUM_ITERATIONS: Number of benchmark iterations (default: 10)BASE_PORT: Base port number for servers (default: 8080)
Use nix for emulation by running:
nix develop
and executing the commands within this shell. This ensures that all dependencies are setup correctly.