Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
An intentionally-leaky StatsD interface to Datadog
Synopsis
- data StatsSettings
- defaultStatsSettings :: StatsSettings
- setStatsSettingsTags :: [(Text, Text)] -> StatsSettings -> StatsSettings
- envParseStatsSettings :: Parser Error StatsSettings
- data StatsClient
- tagsL :: Lens' StatsClient [(Text, Text)]
- withStatsClient :: (MonadMask m, MonadUnliftIO m) => StatsSettings -> (StatsClient -> m a) -> m a
- class HasStatsClient env where
- statsClientL :: Lens' env StatsClient
- data Gauges
- data Gauge
- dbConnections :: Gauges -> Gauge
- withGauge :: (MonadReader app m, HasStatsClient app, MonadUnliftIO m) => (Gauges -> Gauge) -> m a -> m a
- tagged :: (MonadReader env m, HasStatsClient env) => [(Text, Text)] -> m a -> m a
- increment :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> m ()
- counter :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> Int -> m ()
- gauge :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> Double -> m ()
- histogram :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env, ToMetricValue n) => Text -> n -> m ()
- histogramSince :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> UTCTime -> m ()
- histogramSinceMs :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> UTCTime -> m ()
Documentation
data StatsSettings Source #
setStatsSettingsTags :: [(Text, Text)] -> StatsSettings -> StatsSettings Source #
Client
data StatsClient Source #
Instances
HasStatsClient StatsClient Source # | |
Defined in Freckle.App.Stats |
withStatsClient :: (MonadMask m, MonadUnliftIO m) => StatsSettings -> (StatsClient -> m a) -> m a Source #
class HasStatsClient env where Source #
statsClientL :: Lens' env StatsClient Source #
Instances
HasStatsClient StatsClient Source # | |
Defined in Freckle.App.Stats | |
HasStatsClient site => HasStatsClient (HandlerData child site) Source # | |
Defined in Freckle.App.Stats statsClientL :: Lens' (HandlerData child site) StatsClient Source # |
Gauges
dbConnections :: Gauges -> Gauge Source #
withGauge :: (MonadReader app m, HasStatsClient app, MonadUnliftIO m) => (Gauges -> Gauge) -> m a -> m a Source #
Reporting
tagged :: (MonadReader env m, HasStatsClient env) => [(Text, Text)] -> m a -> m a Source #
Include the given tags on all metrics emitted from a block
increment :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> m () Source #
Synonym for counter
1
counter :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> Int -> m () Source #
gauge :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> Double -> m () Source #
histogram :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env, ToMetricValue n) => Text -> n -> m () Source #
Emit an elapsed duration (which Datadog calls a histogram)
The ToMetricValue
constraint can be satisfied by most numeric types and is
assumed to be seconds.
histogramSince :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> UTCTime -> m () Source #
histogramSinceMs :: (MonadUnliftIO m, MonadReader env m, HasStatsClient env) => Text -> UTCTime -> m () Source #