Files
datadog
doc
src
hydra-eval-jobs
hydra-evaluator
hydra-queue-runner
lib
libhydra
root
script
sql
Makefile.am
hydra.sql
test.sql
update-dbix-harness.sh
update-dbix.pl
upgrade-10.sql
upgrade-11.sql
upgrade-12.sql
upgrade-13.sql
upgrade-14.sql
upgrade-15.sql
upgrade-16.sql
upgrade-17.sql
upgrade-18.sql
upgrade-19.sql
upgrade-2.sql
upgrade-20.sql
upgrade-21.sql
upgrade-22.sql
upgrade-23.sql
upgrade-24.sql
upgrade-25.sql
upgrade-26.sql
upgrade-27.sql
upgrade-28.sql
upgrade-29.sql
upgrade-3.sql
upgrade-30.sql
upgrade-31.sql
upgrade-32.sql
upgrade-33.sql
upgrade-34.sql
upgrade-35.sql
upgrade-36.sql
upgrade-37.sql
upgrade-38.sql
upgrade-39.sql
upgrade-4.sql
upgrade-40.sql
upgrade-41.sql
upgrade-42.sql
upgrade-43.sql
upgrade-44.sql
upgrade-45.sql
upgrade-46.sql
upgrade-47.sql
upgrade-48.sql
upgrade-49.sql
upgrade-5.sql
upgrade-50.sql
upgrade-51.sql
upgrade-52.sql
upgrade-53.sql
upgrade-54.sql
upgrade-55.sql
upgrade-56.sql
upgrade-57.sql
upgrade-58.sql
upgrade-59.sql
upgrade-6.sql
upgrade-60.sql
upgrade-61.sql
upgrade-62.sql
upgrade-63.sql
upgrade-64.sql
upgrade-65.sql
upgrade-7.sql
upgrade-8.sql
upgrade-9.sql
ttf
Makefile.PL
Makefile.am
tests
.gitignore
COPYING
INSTALL
Makefile.am
README.md
bootstrap
configure.ac
hydra-module.nix
release.nix
shell.nix
version
hydra/src/sql/upgrade-39.sql
Eelco Dolstra 4d26546d3c 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'").
2015-07-31 00:57:30 +02:00

23 lines
863 B
SQL

create table BuildMetrics (
build integer not null,
name text not null,
unit text,
value double precision not null,
-- Denormalisation for performance: copy some columns from the
-- corresponding build.
project text not null,
jobset text not null,
job text not null,
timestamp integer not null,
primary key (build, name),
foreign key (build) references Builds(id) on delete cascade,
foreign key (project) references Projects(name) on update cascade,
foreign key (project, jobset) references Jobsets(project, name) on update cascade,
foreign key (project, jobset, job) references Jobs(project, jobset, name) on update cascade
);
create index IndexBuildMetricsOnJobTimestamp on BuildMetrics(project, jobset, job, timestamp desc);