metrics-0.1.0.0: High-performance application metric tracking

Portabilitynon-portable
Stabilityexperimental
Safe HaskellNone

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.