úÎ!|2     None,X®pickle'Something that can be sent as a metric.pickleF is our Data Dog (get it?) and he holds on to our sock and config. G is a little MVar bed which Pickle likes to sleep in. He is a good boy.pickle)Configuration for the UDP connection usedpickleHost of statsd serverpicklePort of statsd serverpickle7Prefix concatenated to all metrics names in our programpickle -ed tags for all stats we reportpickle&Whether to print all metrics to stdoutpicklepTags for DogStatsD. Use empty text for rhs to send a keyed tag with no value. Example: M.fromList [("flag", "")] pickle0Default config used for StatsD UDP connection () pickleGStart up our statsd client. You probably want to do this first in main:  main = do$setupPickle defaultConfig ...Subsequent calls to  ¢ will close the existing connection and create a new one with the updated settings. If multiple threads race to setup the connection, the last one to finish wins. pickle Send a gauge.pickle.alias for gauge since it can be hard to spell.pickle.alias for gauge since it can be hard to spell. pickleSend a counter. pickle Send a timer.pickle±Send a metric. Parses the options together. This function makes a best-effort to send the metric; no metric-sending exceptions will be thrown. The metric won't be sent if   hasn't been called yet.pickleParse tags into string to send.pickle4Internal TVar keeping track of singleton connection.pickle#Start the connection for our Picklepickle*Internal utility to show something as Textpickle(metric kind in character form (g,c,ms,s)pickle metric namepickle metric valuepickleTags for metricpickle%Sampling rate for applicable metrics.        %pickle-1.0.1.0-JnQwZPU5j1s4c3HzfrfTOf Data.Pickle MetricData StatsDConfig statsdHost statsdPort statsdPrefix statsdTags statsdVerboseTags defaultConfig setupPicklegaugecountertimermetricshowTPicklepicklebaseGHC.Basemappendgageguage parseTags initPickle