Performance and debugging visualization for DevStack and Tempest
Go to file
Tim Buckley d13506d750 Update README.rst to include Python and testing instructions.
This updates the README to include missing instructions for
installing the Python module and basic information on testing.
Additionally, a link to the planning etherpad is also included.

Change-Id: I75795888bd19eb8116d86ee9647a2eeb6f3119be
2016-01-11 11:08:09 -07:00
app Merge "Fix timeline rendering in Firefox." 2016-01-06 21:13:27 +00:00
doc/source Convert README to rst, and add documentation template from cookiecutter 2015-08-03 10:15:34 -06:00
gulp Removed unused node dependencies. 2015-11-24 13:48:47 -07:00
stackviz Merge "Add summary generating functionality to stackviz-export." 2015-11-30 18:16:08 +00:00
test Switch to eslint. 2015-11-18 15:36:36 -07:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:55:37 +00:00
.eslintignore Switch to eslint. 2015-11-18 15:36:36 -07:00
.eslintrc Switch to eslint. 2015-11-18 15:36:36 -07:00
.gitignore Remove all Django-related functionality. 2015-09-30 13:25:30 -06:00
.gitreview Add .gitreview file 2015-09-14 15:59:30 -06:00
.testr.conf Add more test cookiecutter template items 2015-08-03 11:26:08 -06:00
babel.cfg Add stub unit tests from cookiecutter 2015-08-03 10:37:55 -06:00
CONTRIBUTING.rst Add more test cookiecutter template items 2015-08-03 11:26:08 -06:00
gulpfile.js Add initial Angular boilerplate files. 2015-09-25 16:26:44 -06:00
HACKING.rst Add .gitignore entries, HACKING.rst, and __init__.py contents from cookiecutter 2015-08-03 10:01:01 -06:00
LICENSE Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00
MANIFEST.in Include bower components during setup.py install, and use properly use relative static directory during export. 2015-08-13 14:45:09 -06:00
package.json Removed unused node dependencies. 2015-11-24 13:48:47 -07:00
README.rst Update README.rst to include Python and testing instructions. 2016-01-11 11:08:09 -07:00
requirements.txt Remove all Django-related functionality. 2015-09-30 13:25:30 -06:00
setup.cfg remove python 2.6 trove classifier 2015-12-23 01:31:16 +00:00
setup.py Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00
test-requirements.txt Add stub unit tests from cookiecutter 2015-08-03 10:37:55 -06:00
tox.ini py26/py33 are no longer supported by Infra's CI 2015-12-26 14:39:24 +05:30

StackViz

A visualization utility to help analyze the performance of DevStack setup and Tempest executions.

Installation - Frontend

Installation of the frontend requires Node.js and Gulp. On Ubuntu:

sudo apt-get install nodejs npm nodejs-legacy
sudo npm install -g gulp

Then, install the Node modules by running, from the project directory:

npm install

Installation - Processing

The data processor is a small Python module located in the same source tree. To install, run:

sudo pip install .

Usage - Development

A development server can be run as follows:

gulp dev

This will open a web browser and reload code automatically as it changes on the filesystem.

If you have subunit and dstat logs, you can create a config.json to display your runs:

stackviz-export -f <path/to/subunit> --dstat <path/to/dstat> app/data/

During gulp dev, files written to app/data/ will be automatically synchronized with the browser. Note that these files will not be copied to build/ during gulp prod, but you can copy them manually using gulp data.

Usage - Production

The production application can be build using:

gulp prod

The result will be written to ./build and should be appropriate for distribution. Note that all files are not required:

  • Directory structure (js/, css/, fonts/, images/): required.
  • Static resources (fonts/, images/): required.
  • Core files (index.html, js/main.js, css/main.css): required unless gzipped versions are used.
  • Gzipped versions of core files (*.gz): not required, but preferred. Use instead of plain core files to save on disk usage and bandwidth.
  • Source maps (js/main.js.map, js/main.js.map.gz): only required for debugging purposes.

Data should be written to build/data/ using stackviz-export like above. Note that the static production code generated above is portable, and can be generated anywhere and copied to another host to be combined with exported data.

Testing

  • Python tests: tox -epy27
  • JavaScript unit tests: gulp unit
  • JavaScript E2E tests: gulp e2e

Roadmap and Planning