OpenStack analytics dashboard
Go to file
zhouhenglc ebaac2f44a [CI]require Jinja2<3.1.0
JinJa2>=3.1.0 cannot import name 'Markup' from 'jinja2' [1]

[1] https://zuul.opendev.org/t/openstack/build/21c3d5e05ff44adda70369bf86872de0

Change-Id: I5189cb57a4c0c2c736a1fde65c5d092b99528a71
2022-03-28 13:44:42 +08:00
doc/source Added github token support for github autentification 2020-11-17 16:47:22 +04:00
etc Update company association for maliangyi 2022-03-18 10:12:18 +00:00
stackalytics Rename to OpenInfra foundation 2021-06-05 22:03:03 -05:00
tools Add tool to match default_data.json against OpenStackID service 2017-08-25 16:24:41 +02:00
.gitignore Switch to stestr 2018-07-06 17:22:46 +07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:51:10 +00:00
.stestr.conf Switch to stestr 2018-07-06 17:22:46 +07:00
.zuul.yaml Disable tox py35 job 2021-10-19 11:19:06 -06:00
config-generator.conf Separate config module 2017-03-24 13:15:33 -07:00
LICENSE Initial code commit 2013-06-22 15:42:32 +04:00
MANIFEST.in Initial code commit 2013-06-22 15:42:32 +04:00
README.rst Switch IRC references from freenode to OFTC 2022-03-18 10:31:42 +00:00
requirements.txt [CI]require Jinja2<3.1.0 2022-03-28 13:44:42 +08:00
setup.cfg Clean up some twine warnings and errors 2019-07-03 12:44:05 -07:00
setup.py Sync requirements with OpenStack global requirements 2017-03-29 16:45:01 +04:00
test-requirements.txt Update hacking 2020-09-18 12:22:53 +04:00
tox.ini Update hacking 2020-09-18 12:22:53 +04:00

Stackalytics

Application Features

Stackalytics is a service that automatically analyzes OpenStack development activities and displays statistics on contribution. The features are:

  • Extraction of author information from git log, store it in the database;
  • Calculate metrics on number of lines changed (LOC) and commits;
  • Mapping authors to companies and launchpad ids;
  • Filter statistics by time, modules, companies, authors;
  • Extract blueprint and bug ids from commit messages;
  • Auto-update of database.

Quickstart

To run Stackalytics, you first need to create two kind of configuration files. The one is default_data.json which shows which sources(git repo, ml, etc.) need to be analyzed. Another is stackalytics.conf which shows basic configuration like HTTP listening host and port, etc. Stackalytics repository contains the default files of these configuration under etc/ directory. It would be useful to copy and change them as you like.

  1. You need to install Stackalytics. This is done with pip after you check out Stackalytics repository:

    $ git clone https://opendev.org/x/stackalytics
    $ cd stackalytics
    $ sudo pip install -r requirements.txt
    $ sudo python setup.py install
  2. Install and run memcached DB:

    $ sudo apt-get install memcached
    $ memcached -u memcache -d
  3. Analyze data which are specifed on default_data.json and store the data into memcached DB:

    $ stackalytics-processor
  4. Start HTTP server of Stackalytics:

    $ stackalytics-dashboard
  5. Users can access Stackalytics site on http://127.0.0.1:8080 as the default.

Project Info