metrics-0.3.0.0: 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 Source

A basic atomic counter.

Instances

counter :: (Functor m, PrimMonad m) => m (Counter m) 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.