The project's mission is to provide transparent and meaningful statistics on contribution into OpenStack and related projects. "Transparent" means that anyone can double check method of calculation. "Meaningful" means that anyone is able to submit a correction that will adjust influence of appropriate statistical data (like auto-generated code, mass rename, result of automatic refactoring, auto-generated config files, etc)
Stackalytics is a service that collects and processes development activity data (such as commits, reviews) and visualizes them at web dashboard.
Primary data source for Stackalytics is a Git repositories and Gerrit review history.
Git commits history
Stackalytics process three major metrics for OpenStack contribution.
- Number of commits
- Number of modified files
- Number of modified lines
This statistics is retrieved from output of
git log --pretty="commit_id:'%H%n date:%at%n author:%an%n author_email:%ae%n author_email:%ae%n subject:%s%n message:%b%n --shortstat -M --no-merges
For example for the following commit
commit_id:b5a416ac344160512f95751ae16e6612aefd4a57 date:1369119386 author:Akihiro MOTOKI author_email:firstname.lastname@example.org author_email:email@example.com subject:Remove class-based import in the code repo message:Fixes bug 1167901
This commit also removes backslashes for line break.
21 files changed, 340 insertions(+), 408 deletions(-)
This commit changes 21 file and 340 + 408 = 748 LOC (Line Of Code).
Stackalytics/HowToRun - how to install Stackalytics and run it in dev or prod environments