Instrument handling build events
This commit is contained in:
parent
e13febc817
commit
241a704db1
2 changed files with 64 additions and 51 deletions
|
|
@ -21,9 +21,11 @@
|
||||||
#:use-module (rnrs bytevectors)
|
#:use-module (rnrs bytevectors)
|
||||||
#:use-module (json)
|
#:use-module (json)
|
||||||
#:use-module (fibers)
|
#:use-module (fibers)
|
||||||
|
#:use-module (prometheus)
|
||||||
#:use-module (guix-data-service utils)
|
#:use-module (guix-data-service utils)
|
||||||
#:use-module (guix-data-service database)
|
#:use-module (guix-data-service database)
|
||||||
#:use-module (guix-data-service substitutes)
|
#:use-module (guix-data-service substitutes)
|
||||||
|
#:use-module (guix-data-service web server)
|
||||||
#:use-module (guix-data-service web render)
|
#:use-module (guix-data-service web render)
|
||||||
#:use-module (guix-data-service web query-parameters)
|
#:use-module (guix-data-service web query-parameters)
|
||||||
#:use-module (guix-data-service web controller)
|
#:use-module (guix-data-service web controller)
|
||||||
|
|
@ -255,6 +257,10 @@
|
||||||
(render-json
|
(render-json
|
||||||
'((error . "no token provided"))
|
'((error . "no token provided"))
|
||||||
#:code 400)
|
#:code 400)
|
||||||
|
(call-with-duration-metric
|
||||||
|
(%guix-data-service-metrics-registry)
|
||||||
|
"build_server_handle_events_submission_duration_seconds"
|
||||||
|
(lambda ()
|
||||||
(let ((provided-token (assq-ref parsed-query-parameters 'token))
|
(let ((provided-token (assq-ref parsed-query-parameters 'token))
|
||||||
(permitted-tokens
|
(permitted-tokens
|
||||||
(with-resource-from-pool (reserved-connection-pool) conn
|
(with-resource-from-pool (reserved-connection-pool) conn
|
||||||
|
|
@ -304,7 +310,7 @@
|
||||||
#:code 400)))
|
#:code 400)))
|
||||||
(render-json
|
(render-json
|
||||||
'((error . "error"))
|
'((error . "error"))
|
||||||
#:code 403)))))
|
#:code 403)))))))
|
||||||
|
|
||||||
(define (handle-signing-key-request id)
|
(define (handle-signing-key-request id)
|
||||||
(render-html
|
(render-html
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,9 @@
|
||||||
#:use-module (guix-data-service database)
|
#:use-module (guix-data-service database)
|
||||||
#:use-module (guix-data-service web controller)
|
#:use-module (guix-data-service web controller)
|
||||||
#:use-module (guix-data-service web util)
|
#:use-module (guix-data-service web util)
|
||||||
#:export (start-guix-data-service-web-server))
|
#:export (%guix-data-service-metrics-registry
|
||||||
|
|
||||||
|
start-guix-data-service-web-server))
|
||||||
|
|
||||||
(define (check-startup-completed startup-completed)
|
(define (check-startup-completed startup-completed)
|
||||||
(if (atomic-box-ref startup-completed)
|
(if (atomic-box-ref startup-completed)
|
||||||
|
|
@ -64,6 +66,9 @@
|
||||||
(check-startup-completed startup-completed)
|
(check-startup-completed startup-completed)
|
||||||
render-metrics))))
|
render-metrics))))
|
||||||
|
|
||||||
|
(define %guix-data-service-metrics-registry
|
||||||
|
(make-parameter #f))
|
||||||
|
|
||||||
(define* (start-guix-data-service-web-server port host secret-key-base
|
(define* (start-guix-data-service-web-server port host secret-key-base
|
||||||
startup-completed
|
startup-completed
|
||||||
#:key postgresql-statement-timeout
|
#:key postgresql-statement-timeout
|
||||||
|
|
@ -73,6 +78,8 @@
|
||||||
|
|
||||||
(%database-metrics-registry registry)
|
(%database-metrics-registry registry)
|
||||||
|
|
||||||
|
(%guix-data-service-metrics-registry registry)
|
||||||
|
|
||||||
(let ((finished? (make-condition)))
|
(let ((finished? (make-condition)))
|
||||||
(call-with-sigint
|
(call-with-sigint
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue