
This adds support for loading progress bars from the nprogress library and displays progress bars while loading the larger datasets on the timeline and test details pages. Change-Id: Ica10d348f67abc348aed2df0b158383ad035e604
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
- Planning: https://etherpad.openstack.org/p/stackviz
- Gate integration planning: https://etherpad.openstack.org/p/BKgWlKIjgQ