packages feed

ngx-export-tools-extra 0.5.7.0 → 0.5.8.0

raw patch · 3 files changed

+29/−19 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Changelog.md view
@@ -1,3 +1,7 @@+### 0.5.8.0++- Using *Data.HashSet* for *pcGauges* and *pcScale1000* in Prometheus metrics.+ ### 0.5.7.0  - Show histogram *error* counters in parameterized Prometheus metrics.
NgxExport/Tools/Prometheus.hs view
@@ -37,6 +37,8 @@  import           Data.Map.Strict (Map) import qualified Data.Map.Strict as M+import           Data.HashSet (HashSet)+import qualified Data.HashSet as HS import           Data.ByteString (ByteString) import qualified Data.ByteString.Char8 as C8 import qualified Data.ByteString.Lazy as L@@ -72,8 +74,8 @@  data PrometheusConf =     PrometheusConf { pcMetrics :: Map MetricsName MetricsHelp-                   , pcGauges :: [MetricsName]-                   , pcScale1000 :: [MetricsName]+                   , pcGauges :: HashSet MetricsName+                   , pcScale1000 :: HashSet MetricsName                    } deriving Read  data HistogramLayout =@@ -187,8 +189,10 @@ --                     ,(\"cnt_uptime_reload\", \"Nginx master uptime after reload\") --                     ,(\"hst_request_time\", \"Request duration\") --                     ]---                 , __/pcGauges/__ = [\"cnt_stub_status_active\"]---                 , __/pcScale1000/__ = [\"hst_request_time_sum\"]+--                 , __/pcGauges/__ = fromList+--                     [\"cnt_stub_status_active\"]+--                 , __/pcScale1000/__ = fromList+--                     [\"hst_request_time_sum\"] --                 }'; -- --     haskell_var_empty_on_error $hs_prom_metrics;@@ -440,7 +444,7 @@ toPrometheusMetrics' :: PrometheusConf -> AllMetrtics -> PrometheusMetrics toPrometheusMetrics' PrometheusConf {..} (srv, cnts, hs, ocnts) =     let toValues = M.mapWithKey-            (\k v -> (if k `elem` pcScale1000+            (\k v -> (if k `HS.member` pcScale1000                           then (/ 1000)                           else id                      ) $ fromIntegral v@@ -476,7 +480,7 @@                                      in ((k == v1 || k == v2) :)                                 ) [] ks                       )-          gCounter = const . flip elem pcGauges+          gCounter = const . flip HS.member pcGauges           toHistogram cs hk rs =               let ranges = M.mapWithKey                       (\k ->@@ -518,10 +522,8 @@           renameErrCounter k =               let s = "_err"                   (b, (a, e)) =-                      second (\v -> if s `T.isSuffixOf` v-                                        then (fromJust $ T.stripSuffix s v, s)-                                        else (v, "")-                             ) $ T.breakOn "@" k+                      second (\v -> maybe (v, "") (, s) $ T.stripSuffix s v) $+                          T.breakOn "@" k               in T.concat [b, e, a]  showPrometheusMetrics :: PrometheusMetrics -> L.ByteString@@ -745,10 +747,12 @@ --                     ,(\"__/hst_u_response_time/__\" --                      ,\"Response time from all servers in a single upstream\") --                     ]---                 , __/pcGauges/__ = [\"cnt_stub_status_active\"]---                 , __/pcScale1000/__ = [\"hst_request_time_sum\"---                                 ,\"__/hst_u_response_time_sum/__\"---                                 ]+--                 , __/pcGauges/__ = fromList+--                     [\"cnt_stub_status_active\"]+--                 , __/pcScale1000/__ = fromList+--                     [\"hst_request_time_sum\"+--                     ,\"__/hst_u_response_time_sum/__\"+--                     ] --                 }\'; -- @ -- @@@ -921,10 +925,12 @@ --                     ,(\"cnt_uptime_reload\", \"Nginx master uptime after reload\") --                     ,(\"__/hst_request_time/__\", \"Request duration\") --                     ]---                 , pcGauges = [\"cnt_stub_status_active\"]---                 , pcScale1000 = [\"__/hst_request_time\@scope=(total)_sum/__\"---                                 ,\"__/hst_request_time\@scope=(in_upstreams)_sum/__\"---                                 ]+--                 , pcGauges = fromList+--                     [\"cnt_stub_status_active\"]+--                 , pcScale1000 = fromList+--                     [\"__/hst_request_time@\scope=(total)_sum/__\"+--                     ,\"__/hst_request_time\@scope=(in_upstreams)_sum/__\"+--                     ] --                 }\'; --  -- @
ngx-export-tools-extra.cabal view
@@ -1,5 +1,5 @@ name:                       ngx-export-tools-extra-version:                    0.5.7.0+version:                    0.5.8.0 synopsis:                   More extra tools for Nginx haskell module description:                More extra tools for         <https://github.com/lyokha/nginx-haskell-module Nginx haskell module>.