Performance and debugging visualization for DevStack and Tempest
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Ghanshyam Mann 7befee2b3c Fix tox4 error
tox.ini started failing with Tox4 which had some
incompatible changes. One is passenv where we need
to pass each value in newline otherwise, it fails with
error:

 failed with pass_env values cannot contain whitespace,
 use comma to have multiple values in a single line,
 invalid values found.....

Fixing tox.ini for tox4 changes.

Also, remove the stable/rocky|stein job as they are
in EM state and jobs are failing.

Change-Id: Idfa3c5aab012cf8381e001d4c3018b92b76f89af
5 months ago
app Fix dstat graph processing 4 years ago
doc Use stestr instead of testrepository 2 years ago
gulp Have stackviz output a usable python sdist 6 years ago
playbooks/nodejs migrate to victoria testing runtime 3 years ago
releasenotes/notes [ussuri][goal] Drop python 2.7 support and testing 3 years ago
stackviz Use stestr instead of testrepository 2 years ago
test Use stestr instead of testrepository 2 years ago
.coveragerc Update .coveragerc after the removal of openstack directory 7 years ago
.eslintignore Switch to eslint. 8 years ago
.eslintrc.json Fix phantomjs package error and update eslint-config-openstack 7 years ago
.gitignore Merge "Add karma-subunit-reporter" 4 years ago
.gitreview OpenDev Migration Patch 4 years ago
.stestr.conf Use stestr as a test runner in tox 4 years ago
.zuul.yaml Fix tox4 error 5 months ago
CONTRIBUTING.rst [ussuri][goal] Update contributor documentation 3 years ago
HACKING.rst Use updated hacking url link 5 years ago
LICENSE Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 8 years ago
MANIFEST.in Have stackviz output a usable python sdist 6 years ago
README.rst Updated Node.js Installation Command 2 years ago
babel.cfg Add stub unit tests from cookiecutter 8 years ago
bindep.txt add python 3.6 unit test job 5 years ago
gulpfile.js Add initial Angular boilerplate files. 8 years ago
package.json Move stackviz-nodejs10-run-test-browser to Firefox 2 years ago
requirements.txt Use stestr instead of testrepository 2 years ago
setup.cfg Merge "Test python3.9 as voting job" 2 years ago
setup.py Cleanup py27 support 3 years ago
test-requirements.txt Fix hacking min version to 3.0.1 3 years ago
tox.ini Fix tox4 error 5 months ago

README.rst

Team and repository tags

image

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:

Installation

Installation - Frontend

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

sudo apt-get install nodejs
sudo apt-get install npm
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

This will automatically build portable html/javascript and python utilities into dist/stackviz-VERSION.tar.gz.

You should probably install this into a virtualenv on the target system:

virtualenv stackviz
./virtualenv/bin/pip install /path/to/stackviz-VERSION.tar.gz
# to run stackviz export
./virtualenv/bin/stackviz-export

Note the required html will be placed in virtualenv/share/stackviz-html as a data-file (or elsewhere, if installed as a system package; this may vary on distributions). This can be moved as required. Note that all files in there 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 stackviz-html/data/ using stackviz-export like above.

Testing

  • Python tests: tox -e py36
  • 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