Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GrimoireLab FOSDEM 2018

GrimoireLab FOSDEM 2018

Lightning Talk "GrimoireLab: Free Software for Software Development Analytics", FOSDEM 2018

Jesus M. Gonzalez-Barahona

February 03, 2018
Tweet

More Decks by Jesus M. Gonzalez-Barahona

Other Decks in Programming

Transcript

  1. 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

    View Slide

  2. 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:

    View Slide

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

    View Slide

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

    View Slide

  5. chaoss.community
    Software development analytics
    opnfv.biterg.io

    View Slide

  6. 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

    View Slide

  7. chaoss.community
    GrimoireLab architecture

    View Slide

  8. chaoss.community
    Architecture: extraction

    View Slide

  9. 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
    ...

    View Slide

  10. 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'])

    View Slide

  11. chaoss.community
    Architecture:
    enrichment

    View Slide

  12. 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)

    View Slide

  13. chaoss.community
    Example: GrimoireELK

    View Slide

  14. chaoss.community
    Architecture:
    exploitation

    View Slide

  15. 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

    View Slide

  16. chaoss.community
    Example: producing a dashboard

    View Slide

  17. 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

    View Slide