iohk-monitoring-0.1.10.1: logging, benchmarking and monitoring framework
Safe HaskellNone
LanguageHaskell2010

Cardano.BM.Tracer

Synopsis

Documentation

newtype Tracer (m :: Type -> Type) a Source #

example: simply output a message on the console

let logTrace = traceWith $ showTracing $ stdoutTracer
in  logTrace "hello world"

example: calling a function and passing in a Tracer

example1 :: IO ()
example1 = do
    let logTrace a = traceWith (showTracing (contramap ("Debug: " ++) stdoutTracer)) a
    void $ callFun1 logTrace
callFun1 :: (String -> IO ()) -> IO Int
callFun1 logTrace = do
    logTrace "in function 1"
    return 42

runTracer evaluates a Tracer (i.e. consumes its argument)

Constructors

Tracer 

Fields

Instances

Instances details
Contravariant (Tracer m) 
Instance details

Defined in Control.Tracer

Methods

contramap :: (a -> b) -> Tracer m b -> Tracer m a #

(>$) :: b -> Tracer m b -> Tracer m a #

Applicative m => Divisible (Tracer m) Source # 
Instance details

Defined in Cardano.BM.Tracer

Methods

divide :: (a -> (b, c)) -> Tracer m b -> Tracer m c -> Tracer m a Source #

conquer :: Tracer m a Source #

Applicative m => Decidable (Tracer m) Source # 
Instance details

Defined in Cardano.BM.Tracer

Methods

lose :: (a -> Void) -> Tracer m a Source #

choose :: (a -> Either b c) -> Tracer m b -> Tracer m c -> Tracer m a Source #

Applicative m => Semigroup (Tracer m s) 
Instance details

Defined in Control.Tracer

Methods

(<>) :: Tracer m s -> Tracer m s -> Tracer m s #

sconcat :: NonEmpty (Tracer m s) -> Tracer m s #

stimes :: Integral b => b -> Tracer m s -> Tracer m s #

Applicative m => Monoid (Tracer m s) 
Instance details

Defined in Control.Tracer

Methods

mempty :: Tracer m s #

mappend :: Tracer m s -> Tracer m s -> Tracer m s #

mconcat :: [Tracer m s] -> Tracer m s #

observing

bracketObserve :: forall m s e b d. Monad m => (m s, m e, Tracer m (Observable s e d)) -> m b -> m b Source #

examples

Orphan instances

Applicative m => Divisible (Tracer m) Source # 
Instance details

Methods

divide :: (a -> (b, c)) -> Tracer m b -> Tracer m c -> Tracer m a Source #

conquer :: Tracer m a Source #

Applicative m => Decidable (Tracer m) Source # 
Instance details

Methods

lose :: (a -> Void) -> Tracer m a Source #

choose :: (a -> Either b c) -> Tracer m b -> Tracer m c -> Tracer m a Source #