stackviz/README.rst
Tim Buckley 6ae7d8ace1 Use gulp-replace to rewrite JS and CSS paths during gzip task.
`index.html.gz` now links properly to gzipped resources allowing
them to be distributed unmodified and without the uncompressed
resources.

Change-Id: I253f5207de5b13a105dfb8ddd226d7da6ba2b34b
2015-09-25 17:55:33 -06:00

2.0 KiB

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.

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 in a config.json.
      • Will support local and remote sources via REST/JSONP (pending API spec).
  • Angular conversion: current codebase will be rewritten to use Angular.