Git Product home page Git Product logo

arewefastyet's Introduction

The latest AWFY is five components:
 (1) MySQL database that stores statistics.
 (2) Hidden PHP script on the webserver, where stats get sent.
 (3) Python driver that runs on each benchmark computer, and submits stats.
 (4) Python aggregator that builds JSON data from the DB.
 (5) Static HTML as the frontpage, that queries JSON via XHR.

NOTE: (2), (3), and (5) must be on the same webserver, otherwise timestamps
might not be computed correctly.

######### SET UP ##########
Setting up (1):
  Run database/schema.sql

Setting up (2):
  Drop website/UPDATE.PHP and website/internals.php somewhere, and
  rename UPDATE.PHP to something secret.

Setting up (3):
  I set it up like:
   mkdir awfy
   cd awfy
   svn checkout http://v8.googlecode.com/svn/branches/bleeding_edge/ v8
   svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit
   hg clone http://hg.mozilla.org/integration/mozilla-inbound
   mkdir driver
   cp <awfy-src>/driver/* driver/
   cd driver
   hg clone http://hg.mozilla.org/projects/kraken
   svn checkout http://v8.googlecode.com/svn/trunk/benchmarks v8-v7
   svn checkout https://svn.webkit.org/repository/webkit/trunk/PerformanceTests/SunSpider
   svn checkout http://octane-benchmark.googlecode.com/svn/trunk/ octane
   
  (a) Add a database entry for the machine configuration.
  (b) Edit driver/awfy.config to match the build architecture you want, and machine
      database entry.
  (c) Add a cronjob to run dostuff.py periodically. AWFY.com runs every 30min.

Setting up (4):
  Put awfy-server.config in /etc/, edit it to point at your database and 
  website/data folder. Then put update.py in a cronjob. It will dump files
  where appropriate. AWFY.com does this every 15min.

  update.py generates various JSON files:
   (a) "raw" and "metadata" files cache database queries from run to run,
       so we don't have to make expensive database queries.
   (b) "aggregate" files are used for the front page.
   (c) "condensed" files are used for one level of zooming, so users don't
       have to download the raw data set right away.
   
  The metadata and raw JSON files are updated as needed. The aggregate and
  condensed files are always re-generated from the raw data.

Setting up (5):
  Nothing special needed. Note that our flot is slightly modified, so it
  might not work to just replace it.

arewefastyet's People

Contributors

dvander avatar

Watchers

Josh Lambert 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.