metrics-0.4.1.1: High-performance application metric tracking
Copyright(c) Ian Duncan 2013
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Metrics.Counter

Description

An incrementing and decrementing counter metric

import Data.Metrics.Counter

main :: IO ()
main = do
  c <- counter
  increment c
  x <- value c
  print $ x == 1
Synopsis

Documentation

data Counter (m :: Type -> Type) Source #

A basic atomic counter.

Instances

Instances details
(MonadBase b m, PrimMonad b) => Clear b m (Counter b) Source # 
Instance details

Defined in Data.Metrics.Counter

Methods

clear :: Counter b -> m () Source #

(MonadBase b m, PrimMonad b) => Count b m (Counter b) Source # 
Instance details

Defined in Data.Metrics.Counter

Methods

count :: Counter b -> m Int Source #

(MonadBase b m, PrimMonad b) => Set b m (Counter b) Int Source # 
Instance details

Defined in Data.Metrics.Counter

Methods

set :: Counter b -> Int -> m () Source #

(MonadBase b m, PrimMonad b) => Value b m (Counter b) Int Source # 
Instance details

Defined in Data.Metrics.Counter

Methods

value :: Counter b -> m Int Source #

Register (Counter IO) Source # 
Instance details

Defined in Data.Metrics.Registry

counter :: forall (b :: Type -> Type) m. (MonadBase b m, PrimMonad b) => m (Counter b) Source #

Create a new counter.

increment :: PrimMonad m => Counter m -> m () Source #

Bump up a counter by 1.

increment' :: PrimMonad m => Counter m -> Int -> m () Source #

Add an arbitrary amount to a counter.

decrement :: PrimMonad m => Counter m -> m () Source #

Decrease the value of a counter by 1.

decrement' :: PrimMonad m => Counter m -> Int -> m () Source #

Subtract an arbitrary amount from a counter.