metrics-0.4.0.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 #

A basic atomic counter.

Instances

(MonadBase b m, PrimMonad b) => Clear b m (Counter b) # 

Methods

clear :: Counter b -> m () #

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

Methods

count :: Counter b -> m Int #

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

Methods

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

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

Methods

value :: Counter b -> m Int #

Register (Counter IO) # 

counter :: (MonadBase b m, PrimMonad b) => m (Counter b) #

Create a new counter.

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

Bump up a counter by 1.

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

Add an arbitrary amount to a counter.

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

Decrease the value of a counter by 1.

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

Subtract an arbitrary amount from a counter.