Giter Site home page Giter Site logo

preplay-a-browser-emulator's Introduction

pReplay

pReplay replays the dependency graph. It starts from the first activity which is loading the root html. Then according to the graph, it it encounters a network activity, it makes a request for the corresponding url, or if it encounters a computation activity, it waits for a specific amount of time (mentioned in the graph). Once a particular activity is finshed it checks whether it should trigger dependent activities based on whether all activities that a dependent activity depends on are finished. pReplay keeps walking through the dependency graph this way until all activities in the dependency graph have been visited.

usage

./pReplay server testfile [http|https|http2|phttpget] [max-connections] [cookie-size]
  • server : DNS name or IP address
  • testfile : relative path to test file in json format
  • protocol :
    • http : http 1.1
    • https : http 1.1 with SSL
    • http2 : http 2
    • phttpget : requests are handled by PHTTPGET. PHTTPGET has to be started seperately
  • max-connections : maximum amount of concurrent connections
  • cookie-size : size of cookie - works with http1 only

phttpget

  • checkout the HTTPOverSCTP repo
  • switch to multistream branch
  • make
  • put the phttpget binary in the pReplay directory
  • run pReplay with phttpget option
https://github.com/NEAT-project/HTTPOverSCTP

BRANCH: multistream

tested with FreeBSD and Linux

thttpd

  • checkout the thttpd repo
  • switch to the multistream branch
  • ./configure + make + make install
  • /usr/local/sbin/thttpd -C /usr/local/www/thttpd_config
https://github.com/nplab/thttpd/

BRANCH: multistream

Sample thttpd_config:

dir=/usr/local/www/data
cgipat=/cgi-bin/*
chroot
logfile=/usr/local/www/logs/thttpd_log
pidfile=/var/run/thttpd.pid
max_age=0

tested with FreeBSD

info

pReplay has been tested with curl-7.47.1

preplay-a-browser-emulator's People

Contributors

mrajiullah avatar weinrank avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.