Skip to content

holzingk/BrowsEm

Repository files navigation

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.

About

Model-based Web Site Loading Emulation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •