Documentation Plugins



Plugins add new functionalities to Alambic. They most notably provide new data sources for projects, computing and visualisation features, and can be easily customised to fit specific needs. Each plugin provides a set of abilities, which are features they provide to the system:

  • Information: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Metrics: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Figures: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Downloads: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Recommendations: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.
  • Visualisations: meta-data, pieces of information relevant to the project. Examples are the project's description and name, the URL of repositories, etc.

Plugins are organised into types, which define when they are executed and the information they have access to.

  • Pre- plugins, also known as data source plugins, are executed first. They usually retrieve information from a repository, and compute metrics and recommendations.
  • When all pre- plugins are executed, Alambic computes the attributes and quality model and executes the post- plugins. These have access to all information, custom data, metrics, attributes and recommendations retrieved and computed by pre plugins, and are a good fit for project-level reports.
  • When all projects have been executed, the global plugins are run. They have access to all information from all projects and are a good fit for installation-wide reports.

Two other types of plugins independent of project analysis are further defined:

  • Custom data plugins provide information entered by users, like comments or surveys. As such the data they provide is not synchronised with project runs, altough they still provide the same type of output (metrics, downloads, figures, etc.).
  • Wizards provide an easy way to setup a project with a predefined set of plugins. Wizards can execute code to initialise the plugins with the correct parameters and check consistency of entries.

Data source plugins


Eclipse ITS

ID: EclipseIts

Abilities:   metrics   data   recs   figs   viz

Description:
Eclipse ITS retrieves bug tracking system data from the Eclipse dashboard repository. This plugin will look for a file named project-its-prj-static.json on the Eclipse dashboard.
See the project's wiki for more information.

Parameters:

  • project_grim The ID used to identify the project on the dashboard server. Note that it may be different from the id used in the PMI.

Information

Metrics
ITS_CHANGED, ITS_CHANGERS, ITS_CLOSED, ITS_CLOSED_30, ITS_CLOSED_365, ITS_CLOSED_7, ITS_CLOSERS, ITS_CLOSERS_30, ITS_CLOSERS_365, ITS_CLOSERS_7, ITS_DIFF_NETCLOSED_30, ITS_DIFF_NETCLOSED_365, ITS_DIFF_NETCLOSED_7, ITS_DIFF_NETCLOSERS_30, ITS_DIFF_NETCLOSERS_365, ITS_DIFF_NETCLOSERS_7, ITS_OPENED, ITS_OPENERS, ITS_PERCENTAGE_CLOSED_30, ITS_PERCENTAGE_CLOSED_365, ITS_PERCENTAGE_CLOSED_7, ITS_PERCENTAGE_CLOSERS_30, ITS_PERCENTAGE_CLOSERS_365, ITS_PERCENTAGE_CLOSERS_7, ITS_TRACKERS

Figures
its_evol_changed.html: Evolution of changed issues (HTML)
its_evol_opened.html: Evolution of opened issues (HTML)
its_evol_people.html: Evolution of people involved with issues (HTML)
its_evol_summary.html: Evolution of ITS metrics (HTML)

Downloads
import_its.json: The original file of current metrics downloaded from the Eclipse dashboard server (JSON).
metrics_its.csv: Current metrics for the ITS plugin (CSV).
metrics_its.json: Current metrics for the ITS plugin (JSON).
metrics_its_evol.csv: Evolution metrics for the ITS plugin (CSV).
metrics_its_evol.json: Evolution metrics for the ITS plugin (JSON).

Recommendations
ITS_CLOSERS, ITS_OPEN_BUGS

Visualisation
Eclipse ITS

Eclipse MLS

ID: EclipseMls

Abilities:   metrics   data   recs   figs   viz

Description:
Retrieves mailing list data from the Eclipse dashboard repository. This plugin will look for a file named project-mls-prj-static.json on http://dashboard.eclipse.org/data/json/5y. This plugin is redundant with the EclipseGrimoire plugin
See the project's wiki for more information.

Parameters:

  • project_grim The ID used to identify the project on the dashboard server. Note that it may be different from the id used in the PMI.

Information

Metrics
MLS_DIFF_NETSENDERS_30, MLS_DIFF_NETSENDERS_365, MLS_DIFF_NETSENDERS_7, MLS_DIFF_NETSENT_30, MLS_DIFF_NETSENT_365, MLS_DIFF_NETSENT_7, MLS_PERCENTAGE_SENDERS_30, MLS_PERCENTAGE_SENDERS_365, MLS_PERCENTAGE_SENDERS_7, MLS_PERCENTAGE_SENT_30, MLS_PERCENTAGE_SENT_365, MLS_PERCENTAGE_SENT_7, MLS_REPOSITORIES, MLS_SENDERS, MLS_SENDERS_30, MLS_SENDERS_365, MLS_SENDERS_7, MLS_SENDERS_RESPONSE, MLS_SENT, MLS_SENT_30, MLS_SENT_365, MLS_SENT_7, MLS_SENT_RESPONSE, MLS_THREADS

Figures
mls_evol_people.html: Evolution of people involved in mailing lists (HTML)
mls_evol_sent.html: Evolution of emails sent on mailing list (HTML)
mls_evol_summary.html: Evolution of MLS metrics (HTML)

Downloads
import_mls.json: The original file of current metrics from the Eclipse dashboard server (JSON).
metrics_mls.csv: Current metrics for the MLS plugin (CSV).
metrics_mls.json: Current metrics for the MLS plugin (JSON).
metrics_mls_evol.csv: Evolution metrics for the MLS plugin (CSV).
metrics_mls_evol.json: Evolution metrics for the MLS plugin (JSON).

Recommendations
MLS_SENT

Visualisation
Eclipse MLS

Eclipse PMI

ID: EclipsePmi

Abilities:   metrics   info   data   recs   viz

Description:
Eclipse PMI Retrieves meta data about the project from the Eclipse PMI infrastructure.
See the project's wiki for more information.

Parameters:

  • project_pmi The project ID used to identify the project on the PMI server. Look for it in the URL of the project on http://projects.eclipse.org.

Information
MLS_DEV_URL, MLS_USR_URL, PMI_BUGZILLA_COMPONENT, PMI_BUGZILLA_CREATE_URL, PMI_BUGZILLA_PRODUCT, PMI_BUGZILLA_QUERY_URL, PMI_CI_URL, PMI_DESC, PMI_DOCUMENTATION_URL, PMI_DOWNLOAD_URL, PMI_GETTINGSTARTED_URL, PMI_ID, PMI_MAIN_URL, PMI_SCM_URL, PMI_TITLE, PMI_UPDATESITE_URL, PMI_WIKI_URL

Metrics
PMI_ITS_INFO, PMI_SCM_INFO

Figures

Downloads
pmi.json: The PMI file as returned by the Eclipse repository (JSON).
pmi_checks.csv: The list of PMI checks and their results (CSV).
pmi_checks.json: The list of PMI checks and their results (JSON).

Recommendations
PMI_EMPTY_BUGZILLA_CREATE, PMI_EMPTY_BUGZILLA_QUERY, PMI_EMPTY_CI, PMI_EMPTY_DEV_ML, PMI_EMPTY_DOC, PMI_EMPTY_DOWNLOAD, PMI_EMPTY_GETTING_STARTED, PMI_EMPTY_PLAN, PMI_EMPTY_PROPOSAL, PMI_EMPTY_REL, PMI_EMPTY_SCM, PMI_EMPTY_TITLE, PMI_EMPTY_UPDATE, PMI_EMPTY_USER_ML, PMI_EMPTY_WEB, PMI_EMPTY_WIKI, PMI_NOK_BUGZILLA_CREATE, PMI_NOK_BUGZILLA_QUERY, PMI_NOK_CI, PMI_NOK_DEV_ML, PMI_NOK_DOC, PMI_NOK_DOWNLOAD, PMI_NOK_GETTING_STARTED, PMI_NOK_PLAN, PMI_NOK_PROPOSAL, PMI_NOK_SCM, PMI_NOK_UPDATE, PMI_NOK_USER_ML, PMI_NOK_WEB, PMI_NOK_WIKI

Visualisation
Eclipse PMI Checks

Eclipse SCM

ID: EclipseScm

Abilities:   metrics   data   recs   figs   viz

Description:
Retrieves configuration management data from the Eclipse dashboard repository. This plugin will look for a file named project-scm-prj-static.json on http://dashboard.eclipse.org/data/json/5y/. This plugin is redundant with the EclipseGrimoire plugin
See the project's wiki for more information.

Parameters:

  • project_grim The project ID used to identify the project on the dashboard server. Note that it may be different from the id used in the PMI.

Information

Metrics
SCM_AUTHORS, SCM_AUTHORS_30, SCM_AUTHORS_365, SCM_AUTHORS_7, SCM_AVG_COMMITS_AUTHOR, SCM_AVG_COMMITS_MONTH, SCM_COMMITS, SCM_COMMITS_30, SCM_COMMITS_365, SCM_COMMITS_7, SCM_COMMITTERS, SCM_DIFF_NETAUTHORS_30, SCM_DIFF_NETAUTHORS_365, SCM_DIFF_NETAUTHORS_7, SCM_DIFF_NETCOMMITS_30, SCM_DIFF_NETCOMMITS_365, SCM_DIFF_NETCOMMITS_7, SCM_FILES, SCM_PERCENTAGE_AUTHORS_30, SCM_PERCENTAGE_AUTHORS_365, SCM_PERCENTAGE_AUTHORS_7, SCM_PERCENTAGE_COMMITS_30, SCM_PERCENTAGE_COMMITS_365, SCM_PERCENTAGE_COMMITS_7, SCM_REPOSITORIES

Figures
scm_evol_commits.html: Evolution of commits (HTML)
scm_evol_lines.html: Evolution of number of lines modified (HTML)
scm_evol_people.html: Evolution of people involved in SCM (HTML)
scm_evol_summary.html: Evolution of main SCM metrics (HTML)

Downloads
import_scm.json: The original file of current metrics downloaded from the Eclipse dashboard server (JSON).
metrics_scm.csv: Current metrics for the SCM plugin (CSV).
metrics_scm.json: Current metrics for the SCM plugin (JSON).
metrics_scm_evol.csv: Evolution metrics for the SCM plugin (CSV).
metrics_scm_evol.json: Evolution metrics for the SCM plugin (JSON).

Recommendations
SCM_CLOSE_BUGS

Visualisation
Eclipse SCM

Hudson CI

ID: Hudson

Abilities:   metrics   viz   figs   recs

Description:
Retrieves information from a Hudson continuous integration engine, displays a summary of its status, and provides recommendations to better use CI.
Check the documentation for this plugin on the project wiki: https://bitbucket.org/BorisBaldassari/alambic/wiki/Plugins/3.x/Hudson.

Parameters:

  • hudson_url The base URL for the Hudson instance. In other words, the URL one would point to to get the main page of the project's Hudson, with the list of jobs.

Information

Metrics
CI_JOBS, CI_JOBS_FAILED_1W, CI_JOBS_GREEN, CI_JOBS_RED, CI_JOBS_YELLOW

Figures
hudson_hist.html: History of Hudson builds (HTML)
hudson_pie.html: Pie of jobs statuses (HTML)

Downloads

Recommendations
CI_FAILING_JOBS

Visualisation
Hudson CI

PMD Analysis

ID: PmdAnalysis

Abilities:   data   recs   figs   viz

Description:
This plugin summarises the output of a PMD run, provides hints to better understand and user it, and defines a pragmatic strategy to fix violations in an efficient way. It also provides guidance on how to configure PMD and select rules for a better, more focused analysis.
Please note that this plugin only reads the XML configuration and output files of a PMD run. One has to execute it on a regular basis &em; ideally in a continuous integration job &em; and provide the XML files URLs to the plugin.
Up-to-date documentation for the plugin is located on the project wiki.

Parameters:

  • url_pmd_conf The URL to the XML PMD results for the project.
  • url_pmd_xml The URL to the XML configuration file used to run PMD.

Information

Metrics

Figures
pmd_analysis_files_ncc1.svg: Non-conforimities by file (SVG)
pmd_analysis_pie.html: Pie of PMD analysis results (HTML)
pmd_analysis_top_5_rules.svg: Top 5 rules with most non-conformities (SVG)
pmd_configuration_rulesets_repartition.svg: Repartition of non-conformities across rulesets (SVG)
pmd_configuration_summary_pie.html: Pie of PMD configuration results (HTML)
pmd_configuration_violations_rules.svg: Non-conformities by rule (SVG)

Downloads
import_pmd_analysis_conf.xml: The PMD configuration file retrieved for the analysis (XML).
import_pmd_analysis_results.xml: The PMD results file retrieved for the analysis (XML).
pmd_analysis_files.csv: Files: for each non-conform file, its name, total number of non-conformities, number of non-conformities for each priority, number of broken and clean rules, and the rate of acquired practices (CSV).
pmd_analysis_main.csv: Generic information about the project : PMD version, timestamp of analysis, number of non-conformities, number of rules checked, number of rules violated, number of clean rules, rate of acquired practices (CSV).
pmd_analysis_rules.csv: Rules: number of non-conformities for each category of rules and priority (CSV).
pmd_analysis_rulesets.csv: Rulesets detected in analysis output, with number of violations for each priority, in long format (CSV).
pmd_analysis_rulesets2.csv: Rulesets detected in analysis output, with number of violations for each priority, in wide format (CSV).
pmd_analysis_violations.csv: Violations: foreach violated rule, its priority, the ruleset it belongs to, and the volume of violations (CSV).
pmd_analysis_violations.json: Violations: foreach violated rule, its priority, the ruleset it belongs to, and the volume of violations (JSON).

Recommendations
PMD_FIX_FILE, PMD_FIX_RULE, PMD_RULE_DEL

Visualisation
PMD Analysis, PMD Configuration

Stack Overflow

ID: StackOverflow

Abilities:   metrics   recs   viz   users

Description:
Retrieves questions and answers related to a specific tag from the Stack Overflow question/answer web site.
The analysed time range spans the last 5 years.
Check the documentation for this plugin on the project wiki: https://bitbucket.org/BorisBaldassari/alambic/wiki/Plugins/3.x/StackOverflow.

Parameters:

  • so_keyword A Stack Overflow tag to retrieve questions from.

Information

Metrics
SO_ANSWERS_VOL_5Y, SO_ANSWER_RATE_5Y, SO_ASKERS_5Y, SO_QUESTIONS_VOL_5Y, SO_VIEWS_VOL_5Y, SO_VOTES_VOL_5Y

Figures
so_evolution.svg: Evolution of questions on SO (SVG).
so_plot.svg: Summary of questions on SO (SVG).
so_tm.svg: Main words used on SO (SVG).

Downloads
so.csv: The list of questions and answers for the project, in CSV format.
so.json: The list of questions and answers for the project, in JSON format.

Recommendations
SO_ANSWER_RATE_LOW

Visualisation
Stack Overflow



Page generated by Alambic 3.3 on Wed Apr 26 09:51:20 2017.