Break down the build stats by build server
This commit is contained in:
parent
6e9b07bc4a
commit
633e757fe8
3 changed files with 39 additions and 10 deletions
|
|
@ -11,10 +11,11 @@
|
|||
insert-build
|
||||
ensure-build-exists))
|
||||
|
||||
(define (select-build-stats conn)
|
||||
(define (select-build-stats conn build-servers)
|
||||
(define query
|
||||
"
|
||||
SELECT latest_build_status.status AS build_status, COUNT(*)
|
||||
(string-append
|
||||
"
|
||||
SELECT latest_build_status.status AS build_status, builds.build_server_id, COUNT(*)
|
||||
FROM derivation_output_details_sets
|
||||
LEFT JOIN builds
|
||||
ON builds.derivation_output_details_set_id =
|
||||
|
|
@ -26,10 +27,27 @@ LEFT JOIN
|
|||
ORDER BY build_id, timestamp DESC
|
||||
) AS latest_build_status
|
||||
ON builds.id = latest_build_status.build_id
|
||||
GROUP BY latest_build_status.status
|
||||
ORDER BY status")
|
||||
"
|
||||
(if build-servers
|
||||
(string-append
|
||||
"WHERE builds.build_server_id IN ("
|
||||
(string-join (map number->string build-servers)
|
||||
", ")
|
||||
")")
|
||||
"")
|
||||
"
|
||||
GROUP BY latest_build_status.status, builds.build_server_id
|
||||
ORDER BY status"))
|
||||
|
||||
(exec-query conn query))
|
||||
(map (match-lambda
|
||||
(((build-status) . data)
|
||||
(list build-status
|
||||
(map (match-lambda
|
||||
((build-server-id count)
|
||||
(cons (string->number build-server-id)
|
||||
(string->number count))))
|
||||
data))))
|
||||
(group-list-by-first-n-fields 1 (exec-query conn query))))
|
||||
|
||||
(define (select-builds-with-context conn build-statuses build-server-ids)
|
||||
(define where-conditions
|
||||
|
|
|
|||
|
|
@ -80,7 +80,10 @@
|
|||
((id url lookup-all-derivations)
|
||||
(cons url id)))
|
||||
(select-build-servers conn))
|
||||
(select-build-stats conn)
|
||||
(select-build-stats
|
||||
conn
|
||||
(assq-ref parsed-query-parameters
|
||||
'build_server))
|
||||
(select-builds-with-context
|
||||
conn
|
||||
(assq-ref parsed-query-parameters
|
||||
|
|
|
|||
|
|
@ -42,14 +42,22 @@
|
|||
(thead
|
||||
(tr
|
||||
(th (@ (class "col-md-2")) "Status")
|
||||
(th (@ (class "col-md-2")) "Count")))
|
||||
,@(map (match-lambda
|
||||
((url . id)
|
||||
`(th (@ (class "col-md-2"))
|
||||
,url)))
|
||||
build-server-options)))
|
||||
(tbody
|
||||
,@(map
|
||||
(match-lambda
|
||||
((status count)
|
||||
((status counts-by-build-server-id)
|
||||
`(tr
|
||||
(td ,(build-status-span status))
|
||||
(td ,count))))
|
||||
,@(map (lambda (id)
|
||||
`(td ,(or (assq-ref counts-by-build-server-id
|
||||
id)
|
||||
0)))
|
||||
(map cdr build-server-options)))))
|
||||
stats)))))
|
||||
(div
|
||||
(@ (class "row"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue