Wizard to provision a new GerritAnalytics stack

Clone this repo:

Branches

  1. 24ffd6c Only pass index name to spark job by Fabio Ponciroli · 6 days ago master
  2. 416ced1 Merge "Better redirect to kibana dashboard" by Antonio Barone · 2 weeks ago
  3. b73bade Better redirect to kibana dashboard by Antonio Barone · 2 weeks ago
  4. c75a4ba Add Virtual memory caveats by Fabio Ponciroli · 2 weeks ago
  5. 0eb14b5 Add Analytics Wizard in top menu by Fabio Ponciroli · 2 weeks 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.
  • Aggregation type (required): the data can be aggregated by email only, by email per hour, by email per day, by email per month or by email per year.
  • 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]