Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Counter
- data Gauge
- data Label
- data Distribution
- class MonadIO m => MonadMetrics m where
- getTracker :: (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> m tracker
- class Typeable tracker => TrackerLike tracker where
- type TrackAction tracker (m :: * -> *) = r | r -> m
- track :: (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> TrackAction tracker m
- createTracker :: Text -> Store -> IO tracker
- data MetricsStore
- newMetricsStore :: MonadIO m => Server -> m (MetricsStore, m ())
- withMetricsStore :: (MonadIO m, MonadMask m) => Server -> (MetricsStore -> m a) -> m a
- getMetricFromStore :: (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => MetricsStore -> metric tracker name -> IO tracker
- type Metrics = MetricsT IO
- data MetricsT (m :: k -> *) (a :: k)
- newtype DistrGauge = DistrGauge (Distribution, Gauge)
Documentation
A mutable, integer-valued counter.
Instances
TrackerLike Counter Source # | |
Defined in System.Metrics.TrackerInstances type TrackAction Counter m = (r :: Type) Source # | |
type TrackAction Counter m Source # | |
Defined in System.Metrics.TrackerInstances |
A mutable, integer-valued gauge.
Instances
TrackerLike Gauge Source # | |
Defined in System.Metrics.TrackerInstances type TrackAction Gauge m = (r :: Type) Source # | |
type TrackAction Gauge m Source # | |
Defined in System.Metrics.TrackerInstances |
A mutable, text-valued label.
Instances
TrackerLike Label Source # | |
Defined in System.Metrics.TrackerInstances type TrackAction Label m = (r :: Type) Source # | |
type TrackAction Label m Source # | |
Defined in System.Metrics.TrackerInstances |
data Distribution #
An metric for tracking events.
Instances
TrackerLike Distribution Source # | |
Defined in System.Metrics.TrackerInstances type TrackAction Distribution m = (r :: Type) Source # 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 # | |
type TrackAction Distribution m Source # | |
Defined in System.Metrics.TrackerInstances |
class MonadIO m => MonadMetrics m where Source #
getTracker :: (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> m tracker Source #
Instances
MonadIO m => MonadMetrics (MetricsT m) Source # | |
Defined in System.Metrics.Monad getTracker :: forall tracker (name :: Symbol) metric. (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> MetricsT m tracker Source # |
class Typeable tracker => TrackerLike tracker where Source #
type TrackAction tracker (m :: * -> *) = r | r -> m Source #
track :: (MonadMetrics m, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> TrackAction tracker m Source #
Instances
data MetricsStore Source #
newMetricsStore :: MonadIO m => Server -> m (MetricsStore, m ()) Source #
withMetricsStore :: (MonadIO m, MonadMask m) => Server -> (MetricsStore -> m a) -> m a Source #
getMetricFromStore :: (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => MetricsStore -> metric tracker name -> IO tracker Source #
data MetricsT (m :: k -> *) (a :: k) Source #
Instances
MonadReader r m => MonadReader r (MetricsT m) Source # | |
MonadTrans (MetricsT :: (Type -> Type) -> Type -> Type) Source # | |
Defined in System.Metrics.Monad | |
Monad m => Monad (MetricsT m) Source # | |
Functor m => Functor (MetricsT m) Source # | |
Applicative m => Applicative (MetricsT m) Source # | |
Defined in System.Metrics.Monad | |
MonadIO m => MonadIO (MetricsT m) Source # | |
Defined in System.Metrics.Monad | |
MonadThrow m => MonadThrow (MetricsT m) Source # | |
Defined in System.Metrics.Monad | |
MonadCatch m => MonadCatch (MetricsT m) Source # | |
MonadIO m => MonadMetrics (MetricsT m) Source # | |
Defined in System.Metrics.Monad getTracker :: forall tracker (name :: Symbol) metric. (TrackerLike tracker, KnownSymbol name, Typeable metric, Ord (metric tracker name)) => metric tracker name -> MetricsT m tracker Source # |
newtype DistrGauge Source #
Instances
TrackerLike DistrGauge Source # | |
Defined in System.Metrics.TrackerInstances type TrackAction DistrGauge m = (r :: Type) Source # 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 # | |
type TrackAction DistrGauge m Source # | |
Defined in System.Metrics.TrackerInstances |