úÎî#    None3HM ?Counter sample percent. Must be between 0.0 and 1.0, inclusive.A StatsD bucket.0A simple type alias for pushing to StatsD in IO.hThe StatsdT monad transformer. Pushing to StatsD occurs in this monad, and the computation is run with .:Run a StatsdT computation, which pushes metrics to StatsD. ÿ<{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} module Main where import Network import Network.Socket import Statsd main :: IO () main = do let hints = defaultHints { addrFamily = AF_INET , addrSocketType = Datagram } host = "localhost" service = "8125" AddrInfo{..}:_ <- getAddrInfo (Just hints) (Just host) (Just service) runStatsd addrFamily addrSocketType addrProtocol addrAddress $ do statsdCounter "foo" 1 statsdTimer "bar" 25Push to a StatsD counter. "statsdCounter "foo" 1 == "foo:1|c""Push to a StatsD counter, sampled. 2statsdSampledCounter "foo" 1 0.5 == "foo:1|c|@0.5"Push to a StatsD timer. !statsdTimer "foo" 1 == "foo:1|ms"Push to a StatsD gauge.  statsdGauge "foo" 1 == "foo:1|g" (Push a positive delta to a StatsD gauge. %statsdGaugePlus "foo" 1 == "foo:+1|g" (Push a negative delta to a StatsD gauge. %statsdGaugePlus "foo" 1 == "foo:-1|g" Push to a StatsD set. $statsdGaugePlus "foo" 1 == "foo:1|s"             statsd-0.1Statsd SamplePctBucketStatsdT runStatsd statsdCounterstatsdSampledCounter statsdTimer statsdGaugestatsdGaugePlusstatsdGaugeMinus statsdSetencodeSimpleMetric withSocket