packages feed

statsdi 0.1.0.0 → 0.2.0.0

raw patch · 4 files changed

+22/−16 lines, 4 filesdep ~etherdep ~template-haskell

Dependency ranges changed: ether, template-haskell

Files

src/Control/Monad/Stats/MTL.hs view
@@ -19,13 +19,16 @@     , MTLStatsT, mtlStatsT     ) where -import           Control.Monad.Ether import           Control.Monad.IO.Class import qualified Control.Monad.Stats.Monad as Ethereal import           Control.Monad.Stats.Types import           Data.Time.Clock           (NominalDiffTime)+import           Data.Proxy                (Proxy(..))+import           Ether -ethereal "MTLStatsT" "mtlStatsT"+data MTLStatsT+mtlStatsT :: Proxy MTLStatsT+mtlStatsT = Proxy  type MonadStats m = (Monad m, MonadIO m, Ethereal.MonadStats MTLStatsT m) type StatsT = Ethereal.StatsT MTLStatsT
src/Control/Monad/Stats/Monad.hs view
@@ -1,9 +1,11 @@-{-# LANGUAGE ConstraintKinds       #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE LambdaCase            #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings     #-}-{-# LANGUAGE RecordWildCards       #-}+{-# LANGUAGE ConstraintKinds        #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE ScopedTypeVariables    #-}+{-# LANGUAGE TypeApplications       #-}+{-# LANGUAGE LambdaCase             #-}+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE OverloadedStrings      #-}+{-# LANGUAGE RecordWildCards        #-} module Control.Monad.Stats.Monad     ( MonadStats     , StatsT(..)@@ -24,7 +26,7 @@ import           Control.Concurrent import           Control.Concurrent.STM import           Control.Exception         (AsyncException (..), fromException)-import           Control.Monad.Ether+import           Control.Monad (forever, forM_, when, void) import           Control.Monad.IO.Class import           Control.Monad.Stats.Types import           Control.Monad.Stats.Util@@ -37,6 +39,7 @@ import           Data.IORef import           Data.Time                 (NominalDiffTime) import           Data.Time.Clock.POSIX     (POSIXTime, getPOSIXTime)+import           Ether.Reader import qualified Network.Socket            as Socket hiding (recv, recvFrom,                                                       send, sendTo) import qualified Network.Socket.ByteString as Socket@@ -55,7 +58,7 @@ withSocket tag m = withEnvironment tag $ \e -> borrowTMVar (envSocket e) m  withEnvironment :: (MonadStats tag m) => proxy tag -> (StatsTEnvironment -> m ()) -> m ()-withEnvironment tag f = ask tag >>= \case+withEnvironment (t :: proxy tag) f = (ask @tag) >>= \case     NoStatsTEnvironment -> return ()     env -> f env @@ -144,7 +147,7 @@                                                 ]  reportServiceCheck :: (MonadStats tag m) => proxy tag -> ServiceCheck -> ServiceCheckValue -> m ()-reportServiceCheck t ServiceCheck{..} ServiceCheckValue{..} = ask t >>= \case+reportServiceCheck (t :: proxy tag) ServiceCheck{..} ServiceCheckValue{..} = (ask @tag) >>= \case     NoStatsTEnvironment -> return ()     env -> do         timestamp <- case scvTimestamp of@@ -224,7 +227,7 @@     (socket, addr) <- mkStatsDSocket c     liftIO $ borrowTMVar socket (`Socket.connect` addr)     theEnv <- mkStatsTEnv c socket-    flip (runReaderT t) theEnv $ do+    flip runReaderT theEnv $ do         tid <- forkStatsThread theEnv         ret <- m         reportSamples theEnv -- just in case our actions ran faster than 2x flush interval@@ -232,4 +235,4 @@         return ret  runNoStatsT :: (MonadIO m) => proxy t -> StatsT t m a -> m a-runNoStatsT t = flip (runReaderT t) NoStatsTEnvironment+runNoStatsT t = flip runReaderT NoStatsTEnvironment
src/Control/Monad/Stats/Types.hs view
@@ -6,7 +6,6 @@ module Control.Monad.Stats.Types where  import           Control.Concurrent.STM (TMVar)-import           Control.Monad.Ether import           Control.Monad.IO.Class import           Data.ByteString        (ByteString) import qualified Data.ByteString        as ByteString@@ -17,6 +16,7 @@ import qualified Data.HashMap.Strict    as HashMap import           Data.IORef import           Data.Time.Clock.POSIX  (POSIXTime)+import           Ether import           Network.Socket         (Socket) import           System.Random          (Random) 
statsdi.cabal view
@@ -1,5 +1,5 @@ name:                statsdi-version:             0.1.0.0+version:             0.2.0.0 synopsis:            A lovely [Dog]StatsD implementation description:         An implementation of DogStatsD for collecting and pushing metrics homepage:            https://github.com/iostat/statsdi#readme@@ -32,7 +32,7 @@                      , ether                      , transformers                      , transformers-lift-                     , template-haskell >= 2.11.1.0 && < 2.12+                     , template-haskell >= 2.11.1.0 && < 2.13                      , unordered-containers >= 0.2.7.0 && < 0.3                      , hashable >= 1.2.4.0 && < 1.3   default-language:    Haskell2010