Slide 1

Slide 1 text

chaoss.community GrimoireLab: free software for software development analytics Lightning talk at FOSDEM Jesus M. Gonzalez-Barahona Brussels, Belgium, Feb 4th 2018 speakerdeck.com/jgbarah @jgbarah

Slide 2

Slide 2 text

chaoss.community /me Like six years ago I was having coffees with the gang of Bitergia founders Involved in the company since then bitergia.com I work at Universidad Rey Juan Carlos... ...researching about software development gsyc.es/~jgb My two hats:

Slide 3

Slide 3 text

chaoss.community ... Produce integrated, open source software for analyzing software development ….

Slide 4

Slide 4 text

chaoss.community GrimoireLab Software development analytics with free, open source software (a CHAOSS project) grimoirelab.github.io grimoirelab.gitbooks.io/tutorial

Slide 5

Slide 5 text

chaoss.community Software development analytics opnfv.biterg.io

Slide 6

Slide 6 text

chaoss.community Try it!! docker run -p 5601:5601 -v $(pwd)/credentials.cfg:/mordred-override.cfg -t grimoirelab/full credentials.cfg: [github] api-token = XXX

Slide 7

Slide 7 text

chaoss.community GrimoireLab architecture

Slide 8

Slide 8 text

chaoss.community Architecture: extraction

Slide 9

Slide 9 text

chaoss.community Example: Perceval $ python3 -m venv /tmp/gl $ source /tmp/gl/bin/activate (gl) $ pip install perceval (gl) $ perceval git https://github.com/grimoirelab/perceval (gl) $ perceval github grimoirelab perceval --sleep-for-rate -t XXXXX ...

Slide 10

Slide 10 text

chaoss.community Example: Perceval from perceval.backends.core.git import Git repo_url = 'http://github.com/grimoirelab/perceval.git' repo_dir = '/tmp/perceval.git' repo = Git(uri=repo_url, gitpath=repo_dir) for commit in repo.fetch(): print(commit['data']['commit'])

Slide 11

Slide 11 text

chaoss.community Architecture: enrichment

Slide 12

Slide 12 text

chaoss.community Example: GrimoireELK (gl) $ pip install grimoire-elk (gl) $ p2o.py --enrich --index git_raw --index-enrich git \ -e http://localhost:9200 --no_inc --debug \ git https://github.com/grimoirelab/perceval.git (assumes Elasticsearch at http://localhost:9200)

Slide 13

Slide 13 text

chaoss.community Example: GrimoireELK

Slide 14

Slide 14 text

chaoss.community Architecture: exploitation

Slide 15

Slide 15 text

chaoss.community Example: producing a dashboard (es) $ pip install grimoire-mordred (es) $ mordred -c mordred.cfg (assumes Elasticsearch at http://localhost:9200, Kibiter at http://localhost:5601 ) Needs: mordred.cfg, projects.json, identities.yaml, menu.yaml grimoirelab.gitbooks.io/tutorial

Slide 16

Slide 16 text

chaoss.community Example: producing a dashboard

Slide 17

Slide 17 text

chaoss.community Try GrimoireLab with a single line!! $ docker run -p 5601:5601 -v $(pwd)/credentials.cfg:/mordred-override.cfg -t grimoirelab/full credentials.cfg: [github] api-token = XXX grimoirelab.github.io grimoirelab.gitbooks.io/tutorial http://localhost:5601