arbor-monad-metric-1.0.0: Core metric library for publishing metrics.

Safe HaskellNone
LanguageHaskell2010

Arbor.Monad.Metric

Documentation

class (Monad m, MonadIO m) => MonadMetrics m Source #

Minimal complete definition

getMetrics

Instances
MonadMetrics m => MonadMetrics (MaybeT m) Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

MonadMetrics m => MonadMetrics (ResourceT m) Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

MonadMetrics m => MonadMetrics (IdentityT m) Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

MonadMetrics m => MonadMetrics (ExceptT e m) Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

MonadMetrics m => MonadMetrics (StateT s m) Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

MonadMetrics m => MonadMetrics (ReaderT e m) Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

metric :: Ord k => Semigroup (MetricState k) => MetricFamily k => MonadMetrics m => k -> MetricValue k -> m () Source #

data Counter Source #

Constructors

Counter 

Fields

Instances
Eq Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Methods

(==) :: Counter -> Counter -> Bool #

(/=) :: Counter -> Counter -> Bool #

Ord Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Show Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Generic Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Associated Types

type Rep Counter :: Type -> Type #

Methods

from :: Counter -> Rep Counter x #

to :: Rep Counter x -> Counter #

MetricFamily Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Associated Types

type MetricValue Counter :: Type Source #

type MetricState Counter :: Type Source #

type Rep Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

type Rep Counter = D1 (MetaData "Counter" "Arbor.Monad.Metric.Type" "arbor-monad-metric-1.0.0-KfEgNiF2TXe2sEpy3Q23Jr" False) (C1 (MetaCons "Counter" PrefixI True) (S1 (MetaSel (Just "name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "tags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text])))
type MetricValue Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

type MetricState Counter Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

data Gauge Source #

Constructors

Gauge 

Fields

Instances
Eq Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Methods

(==) :: Gauge -> Gauge -> Bool #

(/=) :: Gauge -> Gauge -> Bool #

Ord Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Methods

compare :: Gauge -> Gauge -> Ordering #

(<) :: Gauge -> Gauge -> Bool #

(<=) :: Gauge -> Gauge -> Bool #

(>) :: Gauge -> Gauge -> Bool #

(>=) :: Gauge -> Gauge -> Bool #

max :: Gauge -> Gauge -> Gauge #

min :: Gauge -> Gauge -> Gauge #

Show Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Methods

showsPrec :: Int -> Gauge -> ShowS #

show :: Gauge -> String #

showList :: [Gauge] -> ShowS #

Generic Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Associated Types

type Rep Gauge :: Type -> Type #

Methods

from :: Gauge -> Rep Gauge x #

to :: Rep Gauge x -> Gauge #

MetricFamily Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Associated Types

type MetricValue Gauge :: Type Source #

type MetricState Gauge :: Type Source #

type Rep Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

type Rep Gauge = D1 (MetaData "Gauge" "Arbor.Monad.Metric.Type" "arbor-monad-metric-1.0.0-KfEgNiF2TXe2sEpy3Q23Jr" False) (C1 (MetaCons "Gauge" PrefixI True) (S1 (MetaSel (Just "name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "tags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text])))
type MetricValue Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

type MetricState Gauge Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

data Metrics Source #

Instances
Generic Metrics Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

Associated Types

type Rep Metrics :: Type -> Type #

Methods

from :: Metrics -> Rep Metrics x #

to :: Rep Metrics x -> Metrics #

type Rep Metrics Source # 
Instance details

Defined in Arbor.Monad.Metric.Type

type Rep Metrics = D1 (MetaData "Metrics" "Arbor.Monad.Metric.Type" "arbor-monad-metric-1.0.0-KfEgNiF2TXe2sEpy3Q23Jr" False) (C1 (MetaCons "Metrics" PrefixI True) (S1 (MetaSel (Just "counters") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (TVar (MetricMap Counter (MetricState Counter)))) :*: S1 (MetaSel (Just "gauges") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (TVar (MetricMap Gauge (MetricState Gauge))))))

extractValues :: forall k. MetricFamily k => Proxy k -> MetricMap k (MetricState k) -> STM ([(k, MetricValue k)], [TVar (MetricState k)]) Source #