Add support for tracking custom metrics

Builds can now emit metrics that Hydra will store in its database and render as time series via flot charts. Typical applications are to keep track of performance indicators, coverage percentages, artifact sizes, and so on.

For example, a coverage build can emit the coverage percentage as follows:

echo "lineCoverage $pct %" > $out/nix-support/hydra-metrics

Graphs of all metrics for a job can be seen at

http://…/job/<project>/<jobset>/<job>#tabs-charts

Specific metrics are also visible at

http://…/job/<project>/<jobset>/<job>/metric/<metric>

The latter URL also allows getting the data in JSON format (e.g. via "curl -H 'Accept: application/json'").

Created by  Eelco Dolstra  on July 30, 2015
T5BIOVJEMBIASP7EKQVV2N3VD6I56UXH6LCD5I33BDQEVHJAMGKQC
Dependencies
In channels
main
upstream
Change contents