Tim Buckley ff939428d7 Add nprogress progress bars to timeline and test-details.
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
2016-01-25 17:50:30 -07:00
2015-11-24 13:48:47 -07:00
2015-11-18 15:36:36 -07:00
2015-11-18 15:36:36 -07:00
2015-11-18 15:36:36 -07:00
2015-09-14 15:59:30 -06:00
2015-12-23 01:31:16 +00:00

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

Description
Performance and debugging visualization for DevStack and Tempest
Readme 2.3 MiB
Languages
SCSS 58.2%
JavaScript 28.8%
Python 9.2%
HTML 3.8%