Skip to content
Web app that collects and graphs EC2 Spot Prices
Python HTML CSS Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
ec2price Optimize "fork me" image Feb 23, 2014
scripts Initial commit Feb 24, 2013
.gitignore Switch database from Postgres to DynamoDB Feb 18, 2014
Dockerfile.ci Add Dockerfile.ci and docker-compose.ci.yml Jul 31, 2015
Procfile Initial commit Feb 24, 2013
README.md README.md: Tweak wording Feb 22, 2014
UNLICENSE Rename COPYING.txt to UNLICENSE Dec 4, 2013
docker-compose.ci.yml Add Dockerfile.ci and docker-compose.ci.yml Jul 31, 2015
requirements.txt
runtime.txt Switch database from Postgres to DynamoDB Feb 18, 2014
setup.py Initial commit Feb 24, 2013
webassets.yml Switch database from Postgres to DynamoDB Feb 18, 2014

README.md

EC2 Spot Price Tracker

This application collects and displays prices for EC2 spot instances over time. It's written in Python using the Tornado web framework.

  • The daemon ec2price collector grabs spot price data from the EC2 API using botocore and stores it in DynamoDB.

  • The web interface ec2price web displays graphs of the data using NVD3.js.

Instructions for running on Heroku

$ git clone https://github.com/grosskur/ec2price.git
$ cd ec2price
$ heroku create your-ec2price
$ heroku config:set TABLE_PREFIX=$(uuidgen | cut -c 1-8 | tr 'A-Z' 'a-z')
$ heroku config:set COOKIE_SECRET=$(head /dev/urandom | base64 | cut -c 1-40)
$ heroku config:set AWS_ACCESS_KEY_ID=...
$ heroku config:set AWS_SECRET_ACCESS_KEY=...
$ git push heroku master
$ heroku ps:scale web=1
$ heroku addons:add scheduler
$ heroku addons:open scheduler  # Add hourly job: "scripts/ec2price collector --once"

To do

  • Experiment with Rickshaw for graph drawing
  • Use D3 option interpolation: 'step-after' for staircase lines

See also

You can’t perform that action at this time.