From e04e80fd3de13e312ac54a4cc48f1d20dbbced26 Mon Sep 17 00:00:00 2001 From: Ian Duncan Date: Wed, 27 Jul 2022 14:33:12 -0700 Subject: [PATCH] fix async interrupt breaking bookkeeping in an observer --- prometheus-client/src/Prometheus/Metric/Summary.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prometheus-client/src/Prometheus/Metric/Summary.hs b/prometheus-client/src/Prometheus/Metric/Summary.hs index dcc5b5d..3324eab 100644 --- a/prometheus-client/src/Prometheus/Metric/Summary.hs +++ b/prometheus-client/src/Prometheus/Metric/Summary.hs @@ -79,7 +79,7 @@ summary info quantiles_ = Metric $ do instance Observer Summary where -- | Adds a new observation to a summary metric. - observe s v = doIO $ withMVar (reqSketch s) (`ReqSketch.insert` v) + observe s v = doIO $ withMVarMasked (reqSketch s) (\rs -> rs `ReqSketch.insert` v) -- | Retrieves a list of tuples containing a quantile and its associated value. getSummary :: MonadIO m => Summary -> m [(Rational, Double)]