monad-metrics-extensible-0.1.1.0: An extensible and type-safe wrapper around EKG metrics
Safe HaskellNone
LanguageHaskell2010

System.Metrics.Monad.Class

Documentation

class Typeable tracker => TrackerLike tracker where Source #

Associated Types

type TrackAction tracker (m :: * -> *) = r | r -> m Source #

Methods

track :: (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> TrackAction tracker m Source #

createTracker :: Text -> Store -> IO tracker Source #

Instances

Instances details
TrackerLike Counter Source # 
Instance details

Defined in System.Metrics.TrackerInstances

Associated Types

type TrackAction Counter m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric Counter name)) => metric Counter name -> TrackAction Counter m Source #

createTracker :: Text -> Store -> IO Counter Source #

TrackerLike Gauge Source # 
Instance details

Defined in System.Metrics.TrackerInstances

Associated Types

type TrackAction Gauge m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric Gauge name)) => metric Gauge name -> TrackAction Gauge m Source #

createTracker :: Text -> Store -> IO Gauge Source #

TrackerLike Label Source # 
Instance details

Defined in System.Metrics.TrackerInstances

Associated Types

type TrackAction Label m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric Label name)) => metric Label name -> TrackAction Label m Source #

createTracker :: Text -> Store -> IO Label Source #

TrackerLike Distribution Source # 
Instance details

Defined in System.Metrics.TrackerInstances

Associated Types

type TrackAction Distribution m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric Distribution name)) => metric Distribution name -> TrackAction Distribution m Source #

createTracker :: Text -> Store -> IO Distribution Source #

TrackerLike DistrGauge Source # 
Instance details

Defined in System.Metrics.TrackerInstances

Associated Types

type TrackAction DistrGauge m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric DistrGauge name)) => metric DistrGauge name -> TrackAction DistrGauge m Source #

createTracker :: Text -> Store -> IO DistrGauge Source #

TrackerLike Timestamp Source # 
Instance details

Defined in System.Metrics.ExtraTrackers

Associated Types

type TrackAction Timestamp m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric Timestamp name)) => metric Timestamp name -> TrackAction Timestamp m Source #

createTracker :: Text -> Store -> IO Timestamp Source #

(Typeable magn, MagnitudeOps magn) => TrackerLike (Timer magn) Source # 
Instance details

Defined in System.Metrics.ExtraTrackers

Associated Types

type TrackAction (Timer magn) m = (r :: Type) Source #

Methods

track :: forall (m :: Type -> Type) (name :: Symbol) metric. (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric (Timer magn) name)) => metric (Timer magn) name -> TrackAction (Timer magn) m Source #

createTracker :: Text -> Store -> IO (Timer magn) Source #

class MonadIO m => MonadMetrics m where Source #

Methods

getTracker :: (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> m tracker Source #

Instances

Instances details
MonadIO m => MonadMetrics (MetricsT m) Source # 
Instance details

Defined in System.Metrics.Monad

Methods

getTracker :: forall tracker (name :: Symbol) metric. (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> MetricsT m tracker Source #