Model-based Web Site Loading Emulation
Find a file
2026-06-17 11:45:25 +02:00
csv measurement adjustments 2025-04-19 16:15:56 +00:00
csvs Add stats 2025-04-01 12:49:17 +02:00
data Add data/.gitkeep 2025-04-08 17:00:49 +02:00
failed Add gitkeep file 2025-04-25 15:00:27 +02:00
plots merge 2025-04-13 19:50:27 +00:00
scripts Merge branch 'measurement-fixes' 2025-04-26 12:19:24 +02:00
src back 2025-04-27 15:24:18 +02:00
.dockerignore Initial import 2025-03-25 22:56:08 +01:00
.gitignore Ignore failed/ 2025-04-24 20:05:06 +02:00
analysis.ipynb Add data processing 2025-03-31 23:17:34 +02:00
BrowsEm.config test 2025-04-26 14:25:36 +00:00
BrowsEm.config.sample Merge remote-tracking branch 'origin/master' 2025-04-14 12:32:53 +02:00
build.rs Initial import 2025-03-25 22:56:08 +01:00
Cargo.lock fixes? 2025-04-26 12:08:17 +02:00
Cargo.toml fixes? 2025-04-26 12:08:17 +02:00
emulate_iml_directory.sh rtt fixes 2025-04-11 22:22:07 +00:00
flake.lock Start with scraping and taskfile 2025-03-27 19:26:01 +01:00
flake.nix Add gdb 2025-04-26 11:51:30 +02:00
install.sh Debian compatible install.sh 2026-06-17 11:45:25 +02:00
README.md added script for evaluation 2025-04-11 11:45:59 +00:00
Taskfile.yaml Debug 2025-04-25 15:16:21 +02:00

BrowsEm

Installing

  • Prerequisites: Linux and root shell
  • Install nix with ./install.sh

Running

  • Enter nix devshell with nix develop
  • Run the tool with task

Tasks

Setup & Data Collection

  • task clean - Clean generated data
  • task jupyter-lab - Run Jupyter Lab for analysis
  • task download-top-websites - Download top websites
  • task top-n-websites - Limit to top N websites
  • task scrape - Scrape websites and collect data
  • task load-model - Generate load model from scraped data
  • task scrape-stats - Generate statistics on scraped data

Emulation

  • task build-bins - Build necessary binaries for emulation
  • task 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=5

Configuration 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)

Nix

Use nix for emulation by running:

nix develop

and executing the commands within this shell. This ensures that all dependencies are setup correctly.