Wizard to provision a new GerritAnalytics stack

Clone this repo:

Branches

  1. 0fdc3ad Update elasticsearch index to commits by Antonio Barone · 5 years ago master
  2. dfc59f3 Point docker-compose to new gitcommits ETL image by Antonio Barone · 5 years ago
  3. c1e1fcb Always aggregate analytics data by hour by Antonio Barone · 5 years ago
  4. c48a06c Merge "Build for Gerrit version 2.16" by Fabio Ponciroli · 5 years ago
  5. 6168a95 Build for Gerrit version 2.16 by Fabio Ponciroli · 5 years ago

Analytics Wizard plugin

Wizard to locally setup an Analytics Dashboard like the Gerrit's one. This will allow you to explore the potentials of DevOps Analytics on your own repositories.

What it DOES

  • Setup a ready to use Analytics Dashboard with some defaults charts
  • Populate the Dashboard with data coming from the repos you would like to analyse

What it DOES NOT

  • Schedule recurring import of the data, but just the first one
  • Create a production ready environment. It is meant to build a playground to explore the potential of DevOps analytics
  • Create multiple dashboards

Setup

Prerequisites

##Installation

Copy the latest available jar into the Gerrit plugins directory and restart it. Assuming /usr/local/gerrit is the location of your Gerrit installation simply execute the following:

curl -o /tmp/analytics-wizard.jar https://gerrit-ci.gerritforge.com/job/plugin-analytics-wizard-sbt-master-master/analytics-wizard.jar &&\
cp /tmp/analytics-wizard.jar /usr/local/gerrit/plugins

How to use it

Once you are logged in Gerrit you can access the dashboard configuration via the top menu (Analytics Wizard > Configure Dashboard).

You will land on this screen:

alt text

Different parameters can be configured:

  • Dashboard name (required): name of the dashboard you are about to create
  • Projects prefix (optional): prefix of the projects you want to import, i.e.: to import all the projects under the Gerrit namespace, you can specify gerrit/. Note: It is not a regular expression.
  • Date time-frame (optional): time window you want to collect data about
  • Username/Password (optional): credentials for Gerrit API, if basic auth is needed

Once you set the parameters pressing the “Create Dashboard” button will trigger the Dashboard creation and the data import.

Beware this operation will take a while since it requires to download several Docker images and run an ETL job to collect and aggregate the data.

At the end of this operation you will be presented with a dashbaord similar to this one:

alt text

You can now navigate among the different charts and uncover the potentials of DevOps analytics!

Components interaction

alt text

Development

To build the plugin, JDK 1.8 and sbt are required. Once installed use sbt to build:

cd ./analytics-wizard
sbt assembly

This will compile, test and package the plugin artifact, which can be found in ./target/scala-2.11/analytics-wizard.jar.

Caveats

  • Virtual Memory settings: run sysctl -w vm.max_map_count=262144 from command line, if you are using a Linux box and the dashboard creation fails with a similar error:
max virtual memory areas vm.max_map_count [XXXXX] is too low, increase to at least [262144]