
Presently, the failure tracebacks displayed on the tempest summary directive only show the last line of the failing test's traceback. After analyzing some sample logs, it was determined that the last two lines provide a more full picture of the failure, including exception codes. This patchs adds code to the stackviz-export parser to include the last two traceback lines for display on the summary page. Change-Id: Ib0bffd5b402093adbf1ff6618413df8e8a138670
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