Performance and debugging visualization for DevStack and Tempest
Go to file
Tim Buckley 7eab971d3f Switch to eslint.
This ports over changes made in openstack-health to convert the
project from jshint to eslint, with the eslint-config-openstack
plugin.

Change-Id: Iaa0490d07603e2481e1c738136f9fda1be95dea8
2015-11-18 15:36:36 -07:00
app Switch to eslint. 2015-11-18 15:36:36 -07:00
doc/source Convert README to rst, and add documentation template from cookiecutter 2015-08-03 10:15:34 -06:00
gulp Switch to eslint. 2015-11-18 15:36:36 -07:00
stackviz Remove all Django-related functionality. 2015-09-30 13:25:30 -06: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 Switch to eslint. 2015-11-18 15:36:36 -07:00
README.rst Update README.rst to include upstream planning etherpad 2015-11-05 09:43:50 -07:00
requirements.txt Remove all Django-related functionality. 2015-09-30 13:25:30 -06:00
setup.cfg Move export_static.py to export.py; add executable command definition to setup.cfg to install stackviz-export command during setup.py install. 2015-08-11 17:06:09 -06: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 Remove all Django-related functionality. 2015-09-30 13:25:30 -06:00

StackViz: Angular

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

Installation

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

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/

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.

Roadmap

  • Project split: All server-side components will be removed, and replaced with specialized data transformation tools.

    - Data sources and processing: stackviz Python project, with

    stackviz-export used to generate JSON data files and configuration.

    • Web interface:
      • Will remain in this namespace (openstack-qa/stackviz).
      • Will decouple data processing from build process, allowing for distribution to nodes as a prebuilt static site.
      • Data sources will be configured in a config.json.
      • Will support local and remote sources via REST/JSONP (pending API spec).
  • Upstream Implementation: https://etherpad.openstack.org/p/BKgWlKIjgQ