### Overview:
This application uses d3, grunt and jasmine.  D3 is used for the service state
visualizations while jasmine is used for testing.

### Build steps:
You will need grunt and jasmine for testing the Log Processor.  D3 is used for
the service state visualization.

To install Grunt (drives tests and copies files to lib directory).
  Instructions are detailed at: http://gruntjs.com/getting-started

  Summary:
  1 - install npm
  2 - update npm: npm update -g npm
  3 - use npm to install grunt-cli: npm install -g grunt-cli
  4 - change to logprocessor directory
  5 - install project dependencies: npm install
  6 - run grunt: grunt
  7 - run tests: grunt test

### Use:
Option 1: Open service_states.html in browser
Option 2: Load as an unpacked app in chrome://extensions

### Debugging:
Open the browser console.

### Testing:
Testing is done in Jasmine.  After following the build steps above,
run "grunt test"

Manual testing is done for the service state visualization.
