Dynamically load metrics collectors

Allows dynamic loading of metrics collectors.
This groundwork will allow to easily add new metrics collectors
to gather more metrics and informations about the
git repositories.

Added MetricsCollector interface to define collectors API.

Bug: Issue 16208
Change-Id: Iabd18153b5faf43cb91044a9a02fcc7b7efda23f
10 files changed
tree: 111132e276475c513f10da9e4726d870294d1d91
  1. src/
  2. .gitignore
  3. BUILD
  4. README.md
README.md

Plugin to collect Git repository metrics

This plugin allows a systematic collection of repository metrics. Metrics are updated upon a ref-update receive.

How to build

Clone or link this plugin to the plugins directory of Gerrit‘s source tree, and then run bazel build on the plugin’s directory.

Example:

git clone --recursive https://gerrit.googlesource.com/gerrit
git clone https://gerrit.googlesource.com/plugins/git-repo-metrics
pushd gerrit/plugins && ln -s ../../git-repo-metrics . && popd
cd gerrit && bazel build plugins/git-repo-metrics

The output plugin jar is created in:

bazel-genfiles/plugins/git-repo-metrics/git-repo-metrics.jar

How to install

Copy the git-repo-metrics.jar into the Gerrit's /plugins directory and wait for the plugin to be automatically loaded.

Configuration

More information about the plugin configuration can be found in the config.md file.