PriFi Experimental Data & Plots
September 10, 2020 ยท View on GitHub
This repository contains all raw data (and their derived plots) about experiments and benchmarks of PriFi. The goal is to have reproducible plots from raw data.
Prerequisites
- Python2
- NodeJS + npm
- underscore JS (just get all dependencies via
npm install) - Gnuplot
- epstopdf (typically comes with the LaTeX full suite)
Structure of this repo
Please ignore the root folder! It only contains a bunch of scripts used by the sub-folders.
Go to, e.g., fig3a-e2e-latency (the numbering of the figures follow the paper) and examinate the Makefile to understand what is going on.
Structure of each subfolder:
config: a copy of thesda/simulfolder (in PriFi) at the time of the experiment; it contains all parameterslogs: raw logs exported from the relay. Raw logs are.txtfiles
Most Makefiles do the same thing:
- parse the raw log into
JSONformat - extract the relevant lines (e.g., latency) into a separate files (e.g.,
measured-latency.compiled). Note: this is just a fancygrep, and the output is text - compute statistics (often: simply the mean of the value after the steady-state occurs, excluding obvious failures such as runs with timeouts, etc). This runs the
aggregate.jsmain script with a.json(data source) and a.js(processor script). Creates ayyy.gnudatafile that can be plotted - eps (runs gnuplot using the
xxx.gnuplotscript and theyyy.gnudataformatted input) - pdf (converts eps to pdf)
Author: Ludovic Barman