Better redirect to kibana dashboard

Redirect the user specifically to the kibana dashboard rather
than to the list of dashboards: the relevant dashboard id is
retrieved by querying elasticsearch directly (kibana configuration
is kept under the .kibana index). To allow this, CORS has been enabled
from all origins in elasticsearch.

Also, setting the time range in kibana according to the ETL
time range itself.

Feature: Issue 9966
Change-Id: Ifaadc43ff45d6959a8fbd511f23ec352f01abf33
2 files changed
tree: 46ee96fdab2bd0dc16ef2eddaeb94ee65583208d
  1. project/
  2. resources/
  3. src/
  4. .gitignore
  5. .scalafmt.conf
  6. build.sbt
  7. LICENSE
  8. README.md
README.md

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.