Add some new metrics about load new revision jobs

This commit is contained in:
Christopher Baines 2020-09-20 19:13:23 +01:00
parent fd3ba489d9
commit af2e12a9ef
2 changed files with 36 additions and 0 deletions

View file

@ -62,6 +62,7 @@
combine-log-parts!
fetch-unlocked-jobs
process-load-new-guix-revision-job
select-load-new-guix-revision-job-metrics
select-job-for-commit
select-jobs-and-events
select-recent-job-events
@ -1327,6 +1328,25 @@ RETURNING id;")
result)
(() #f)))
(define (select-load-new-guix-revision-job-metrics conn)
(define query
"
SELECT COALESCE(git_repositories.label, git_repositories.url) AS repository_label,
succeeded_at IS NOT NULL AS completed,
COUNT(*)
FROM load_new_guix_revision_jobs
INNER JOIN git_repositories
ON load_new_guix_revision_jobs.git_repository_id =
git_repositories.id
GROUP BY 1, 2")
(map (match-lambda
((label completed count)
(list label
(string=? "t" completed)
(string->number count))))
(exec-query conn query)))
(define (select-job-for-commit conn commit)
(let ((result
(exec-query

View file

@ -89,6 +89,12 @@
(revisions-count-metric (make-gauge-metric registry
"revision_count"))
(load-new-guix-revision-job-count (make-gauge-metric
registry
"load_new_guix_revision_job_count"
#:labels '(repository_label
completed)))
(table-row-estimate-metric (make-gauge-metric registry
"table_row_estimate"
#:labels '(name)))
@ -123,6 +129,16 @@
(metric-set revisions-count-metric
(count-guix-revisions conn))
(for-each (match-lambda
((repository-label completed count)
(metric-set
load-new-guix-revision-job-count
count
#:label-values
`((repository_label . ,repository-label)
(completed . ,(if completed "yes" "no"))))))
(select-load-new-guix-revision-job-metrics conn))
(list (build-response
#:code 200
#:headers '((content-type . (text/plain))))