Performance and debugging visualization for DevStack and Tempest
Go to file
2015-08-03 10:01:01 -06:00
stackviz Add .gitignore entries, HACKING.rst, and __init__.py contents from cookiecutter 2015-08-03 10:01:01 -06:00
.bowerrc switch from browserify to plain bower, add initial template from bootstrap 2015-07-14 15:13:04 -06:00
.gitignore Add .gitignore entries, HACKING.rst, and __init__.py contents from cookiecutter 2015-08-03 10:01:01 -06:00
bower.json add d3 to bower.json 2015-07-15 15:25:56 -06:00
export_static.py Add gzip support for data in static page exports. 2015-07-29 15:01:29 -06:00
HACKING.rst Add .gitignore entries, HACKING.rst, and __init__.py contents from cookiecutter 2015-08-03 10:01:01 -06:00
LICENSE Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00
manage.py Initial import containing a barebones django / browserify project 2015-07-13 15:55:45 -06:00
MANIFEST.in Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00
README.md Update README.md to add information on static export. 2015-07-29 17:01:34 -06:00
requirements.txt add DjangoRestless dependency 2015-07-15 16:40:28 -06:00
setup.cfg Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00
setup.py Add some missing base files from cookiecutter (LICENSE, manifest, setuptools config) 2015-08-03 09:11:51 -06:00

StackViz

A visualization utility to help analyze the performance of DevStack setup and Tempest executions.

Installation

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

sudo apt-get install nodejs npm
sudo npm install -g bower

Then, install the Bower components by running, from the project directory,

bower install

Usage - Server

First, install the necessary dependencies with Pip:

sudo pip install -r requirements.txt

The Django development server may then be used to view the interface. Run:

python manage.py runserver

You can then browse to the printed URL in your browser of choice.

Usage - Static Site

The server can be "snapshotted" and exported to a static HTML site using the export_static.py utility. StackViz can then be viewed using any web browser with no requirement of any server-side processing.

To generate, run:

python export_static.py dest_dir

... where dest_dir is the path to a target directory where files should be written. When finished, the index.html file can be opened in a browser.

Note that some browsers enforce content origin policies that may disallow XHRs when viewed directly from the local filesystem. To work around this, you can use something like the Python SimpleHTTPServer:

python -m SimpleHTTPServer

GZipped Data

As the log data can become quite large, exported files can be compressed with GZip to significantly reduce the size of the data files. To enable, run:

python export_static.py --gzip dest_dir

Data files will then be written in compressed form, and will be suffixed with *.json.gz. Note that web servers must be properly configured to serve pre-compressed files. Notably, Python's SimpleHTTPServer will not do this by default. However, Twisted can be used as a drop-in replacement as follows:

twistd -no web --path=.

Other web servers, such as Apache, should also serve these files correctly without any extra configuration.

(Specifically, the response must have headers Content-Type: application/json and Content-Encoding: gzip.)

Log Locations

Log locations are configured along with normal Django settings in stackviz/settings.py. Several different types of logs are rendered by StackViz:

  • Tempest (testr repositories): ./, /opt/stack/tempest/
  • DevStack: TODO
  • Dstat: TODO