Jump to: navigation, search

Difference between revisions of "Stackalytics"

Line 32: Line 32:
 
  21 files changed, 340 insertions(+), 408 deletions(-)
 
  21 files changed, 340 insertions(+), 408 deletions(-)
  
 +
This commit changes 21 file and 340 + 408 = 748 LOC (Line Of Code).
  
This commit changes 21 file and 340 + 408 = 748 LOC (Line Of Code).
+
Company affiliation of commit author is determined according the following rules:
 +
* First Stackalytics checks domain of author email. If domain is in Stackalytics DB then affiliation of commit is determined.
 +
* After that Stackalytics retrieve author profile from LanchPad using email address. If LanchPad do not identify the author, then commit is affiliated to ''*independent''
  
 
== How To's ==
 
== How To's ==

Revision as of 14:31, 19 July 2013

Mission

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)

Description

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 the following command:

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

Here is a sample output:

commit_id:b5a416ac344160512f95751ae16e6612aefd4a57
date:1369119386
author:Akihiro MOTOKI
author_email:motoki@da.jp.nec.com
author_email:motoki@da.jp.nec.com
subject:Remove class-based import in the code repo
message:Fixes bug 1167901
This commit also removes backslashes for line break.
Change-Id: Id26fdfd2af4862652d7270aec132d40662efeb96
diff_stat:
21 files changed, 340 insertions(+), 408 deletions(-)

This commit changes 21 file and 340 + 408 = 748 LOC (Line Of Code).

Company affiliation of commit author is determined according the following rules:

  • First Stackalytics checks domain of author email. If domain is in Stackalytics DB then affiliation of commit is determined.
  • After that Stackalytics retrieve author profile from LanchPad using email address. If LanchPad do not identify the author, then commit is affiliated to *independent

How To's

Stackalytics/HowToRun - how to install Stackalytics and run it in dev or prod environments

Code

Source

https://github.com/stackforge/stackalytics

Pending Code Reviews

https://review.openstack.org/#q,status:open+stackalytics,n,z

Project space

https://launchpad.net/stackalytics

Blueprints

https://blueprints.launchpad.net/stackalytics

Bugs

https://bugs.launchpad.net/stackalytics

Web-site

http://stackalytics.com/