| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
System.Metrics.Extensible
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 Associated Types 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 Associated Types 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 Associated Types 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 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 # | |
| type TrackAction Distribution m Source # | |
Defined in System.Metrics.TrackerInstances | |
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
| MonadIO m => MonadMetrics (MetricsT m) Source # | |
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 # | |
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 #
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 Methods 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 #
Constructors
| DistrGauge (Distribution, Gauge) |
Instances
| TrackerLike DistrGauge Source # | |
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 # | |
| type TrackAction DistrGauge m Source # | |
Defined in System.Metrics.TrackerInstances | |