Split the jobs metric in to succeede, queued and failed

Rather than just completed or not.
This commit is contained in:
Christopher Baines 2020-10-09 20:19:28 +01:00
parent 5267bde603
commit 4f3be14c16
2 changed files with 20 additions and 5 deletions

View file

@ -1365,7 +1365,22 @@ RETURNING id;")
(define query
"
SELECT COALESCE(git_repositories.label, git_repositories.url) AS repository_label,
succeeded_at IS NOT NULL AS completed,
CASE WHEN succeeded_at IS NOT NULL
THEN 'succeeded'
WHEN (
SELECT COUNT(*)
FROM load_new_guix_revision_job_events
WHERE job_id = load_new_guix_revision_jobs.id
AND event = 'retry'
) >= (
SELECT COUNT(*)
FROM load_new_guix_revision_job_events
WHERE job_id = load_new_guix_revision_jobs.id
AND event = 'failure'
)
THEN 'queued'
ELSE 'failed'
END AS state,
COUNT(*)
FROM load_new_guix_revision_jobs
INNER JOIN git_repositories
@ -1374,9 +1389,9 @@ INNER JOIN git_repositories
GROUP BY 1, 2")
(map (match-lambda
((label completed count)
((label state count)
(list label
(string=? "t" completed)
state
(string->number count))))
(exec-query conn query)))

View file

@ -223,13 +223,13 @@
pg-stat-user-indexes-metrics)
(for-each (match-lambda
((repository-label completed count)
((repository-label state count)
(metric-set
load-new-guix-revision-job-count
count
#:label-values
`((repository_label . ,repository-label)
(completed . ,(if completed "yes" "no"))))))
(state . ,state)))))
load-new-guix-revision-job-metrics)
(list (build-response