From 5d17a3bc580e42c7f122b4ac4bb0945c10d65863 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 3 Jun 2021 17:01:59 +0200 Subject: [PATCH] Use actor names; extract reporting from box --- syndicate/go.rkt | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/syndicate/go.rkt b/syndicate/go.rkt index 4db2410..0e4d06a 100644 --- a/syndicate/go.rkt +++ b/syndicate/go.rkt @@ -7,31 +7,35 @@ (require "schemas/gen/box-protocol.rkt") -(require (only-in "pattern.rkt" :pattern)) +(define (report-stats REPORT_EVERY) + (define start-time (current-inexact-milliseconds)) + (define prev-value 0) + (lambda (new-value) + (when (zero? (remainder new-value REPORT_EVERY)) + (define end-time (current-inexact-milliseconds)) + (define delta (/ (- end-time start-time) 1000.0)) + (define count (- new-value prev-value)) + (set! prev-value new-value) + (set! start-time end-time) + (log-info "Box got ~a (~a Hz)" new-value (/ count delta))))) (define box (action (ds LIMIT REPORT_EVERY) - (spawn (define root-facet this-facet) + (spawn #:name 'box + (define root-facet this-facet) (define-field value 0) - (define start-time (current-inexact-milliseconds)) - (define prev-value 0) + (define reporter (report-stats REPORT_EVERY)) (at ds (assert (BoxState (value))) (when (message (SetBox $new-value)) - (when (zero? (remainder new-value REPORT_EVERY)) - (define end-time (current-inexact-milliseconds)) - (define delta (/ (- end-time start-time) 1000.0)) - (define count (- new-value prev-value)) - (set! prev-value new-value) - (set! start-time end-time) - (log-info "Box got ~a (~a Hz)" new-value (/ count delta))) - (when (= new-value LIMIT) - (stop-facet root-facet)) + (reporter new-value) + (when (= new-value LIMIT) (stop-facet root-facet)) (value new-value)))))) (define client (action (ds) - (spawn (define root-facet this-facet) + (spawn #:name 'client + (define root-facet this-facet) (at ds (when (asserted (BoxState $value)) (send! ds (SetBox (+ value 1)))) (during (BoxState _)