scripts: weather: Provide more representative request statistics.
Previously, the "seconds per request" and "requests per second" statistics really reported (cache lookups + requests) per second. By looking at the actual number of requests made within lookup-narinfos, a more representative value can be reported. * guix/scripts/weather.scm (let/time): Allow for multiple return values. (report-server-coverage): Alter the reporting of request statistics.
This commit is contained in:
parent
c5ab78f90b
commit
c37f78a9f5
@ -117,8 +117,8 @@ values."
|
||||
(end (current-time time-monotonic)))
|
||||
(apply kont (time-difference end start) result)))
|
||||
|
||||
(define-syntax-rule (let/time ((time result exp)) body ...)
|
||||
(call-with-time (lambda () exp) (lambda (time result) body ...)))
|
||||
(define-syntax-rule (let/time ((time result ... exp)) body ...)
|
||||
(call-with-time (lambda () exp) (lambda (time result ...) body ...)))
|
||||
|
||||
(define (histogram field proc seed lst)
|
||||
"Return an alist giving a histogram of all the values of FIELD for elements
|
||||
@ -181,11 +181,12 @@ Return the coverage ratio, an exact number between 0 and 1."
|
||||
(format #t (G_ "looking for ~h store items on ~a...~%")
|
||||
(length items) server)
|
||||
|
||||
(let/time ((time narinfos (lookup-narinfos
|
||||
server items
|
||||
#:make-progress-reporter
|
||||
(lambda* (total #:key url #:allow-other-keys)
|
||||
(progress-reporter/bar total)))))
|
||||
(let/time ((time narinfos requests-made
|
||||
(lookup-narinfos
|
||||
server items
|
||||
#:make-progress-reporter
|
||||
(lambda* (total #:key url #:allow-other-keys)
|
||||
(progress-reporter/bar total)))))
|
||||
(format #t "~a~%" server)
|
||||
(let ((obtained (length narinfos))
|
||||
(requested (length items))
|
||||
@ -212,9 +213,9 @@ Return the coverage ratio, an exact number between 0 and 1."
|
||||
(format #t (G_ " ~,1h MiB on disk (uncompressed)~%")
|
||||
(/ (reduce + 0 (map narinfo-size narinfos)) MiB))
|
||||
(format #t (G_ " ~,3h seconds per request (~,1h seconds in total)~%")
|
||||
(/ time requested 1.) time)
|
||||
(/ time requests-made 1.) time)
|
||||
(format #t (G_ " ~,1h requests per second~%")
|
||||
(/ requested time 1.))
|
||||
(/ requests-made time 1.))
|
||||
|
||||
(guard (c ((http-get-error? c)
|
||||
(if (= 404 (http-get-error-code c))
|
||||
|
Loading…
Reference in New Issue
Block a user