Performance and debugging visualization for DevStack and Tempest
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Ian Wienand 3a31512b8d Correct stream-file argument 5 years ago
app Fix timeline worker sorting 6 years ago
doc/source Correct stream-file argument 5 years ago
gulp Disable gzip and source maps for production builds 6 years ago
stackviz Add new configuration file format 6 years ago
test Add new configuration file format 6 years ago
.coveragerc Change ignore-errors to ignore_errors 6 years ago
.eslintignore Switch to eslint. 6 years ago
.eslintrc.json Fix phantomjs package error and update eslint-config-openstack 6 years ago
.gitignore Add *.log to .gitignore 6 years ago
.gitreview Add .gitreview file 6 years ago
.testr.conf Add more test cookiecutter template items 7 years ago
CONTRIBUTING.rst Add to stackviz-export and stackviz-front docs 6 years ago
HACKING.rst Add .gitignore entries, HACKING.rst, and __init__.py contents from cookiecutter 7 years ago
LICENSE Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 7 years ago
MANIFEST.in Include bower components during `setup.py install`, and use properly use relative static directory during export. 7 years ago
README.rst Add to stackviz-export and stackviz-front docs 6 years ago
babel.cfg Add stub unit tests from cookiecutter 7 years ago
gulpfile.js Add initial Angular boilerplate files. 6 years ago
package.json Use d3 modules to reduce build size 6 years ago
requirements.txt Remove all Django-related functionality. 6 years ago
setup.cfg remove python 2.6 trove classifier 6 years ago
setup.py Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 7 years ago
test-requirements.txt Remove duplicated imports from test-requirements.txt 6 years ago
tox.ini py26/py33 are no longer supported by Infra's CI 6 years ago

README.rst

StackViz

A visualization utility to help analyze the performance of DevStack setup and Tempest executions. This repository can be cloned and built to use Stackviz with local run data. Stackviz is currently in the process of being implemented upstream (see Roadmap and Planning). To use Stackviz with upstream gate runs, please see the server deployment project at:

https://github.com/timothyb89/stackviz-deployer

Installation

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

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

Manuals & Developer Docs

For more detailed information on how Stackviz works, please see the manuals located at doc/source/man/

Roadmap and Planning