gc-monitoring-wai 0.1 → 0.1.1
raw patch · 2 files changed
+15/−8 lines, 2 files
Files
Network/Wai/Application/Monitoring.hs view
@@ -1,5 +1,9 @@ {-# LANGUAGE RecordWildCards, OverloadedStrings #-}-module Network.Wai.Application.Monitoring (monitorGC) where+module Network.Wai.Application.Monitoring+ ( monitorGC+ , monitorGCResponse+ , encodeGCStats+ ) where import Control.Monad.IO.Class (liftIO) import qualified Data.HashMap.Strict as M@@ -10,17 +14,20 @@ import Data.Aeson (toJSON, Value(Object)) import Data.Aeson.Encode (encode) -monitorGC :: Application-monitorGC _ = do+monitorGCResponse :: ResourceT IO Response+monitorGCResponse = do stats <- liftIO Stats.getGCStats return $ ResponseBuilder status200 [("Content-Type", "application/json")]- $ fromLazyByteString $ encode $ partitionGCStats stats+ $ fromLazyByteString $ encode $ encodeGCStats stats -partitionGCStats :: Stats.GCStats- -> Value-partitionGCStats (Stats.GCStats {..}) =+monitorGC :: Application+monitorGC = const monitorGCResponse++encodeGCStats :: Stats.GCStats+ -> Value+encodeGCStats (Stats.GCStats {..}) = Object $ M.fromList [("counters", counters), ("gauges", gauges)] where counters = Object $ M.fromList
gc-monitoring-wai.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.1+Version: 0.1.1 -- A short (one-line) description of the package. Synopsis: a wai application to show GHC.GCStats