tracing-0.0.2.3: Distributed tracing

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trace

Description

This module is useful for tracing backend implementors. If you are only interested in adding tracing to an application, start at Monitor.Tracing.

Synopsis

Documentation

data TraceT m a Source #

Asynchronous trace collection monad.

Instances
MonadTrans TraceT Source # 
Instance details

Defined in Control.Monad.Trace

Methods

lift :: Monad m => m a -> TraceT m a #

MonadReader r m => MonadReader r (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

Methods

ask :: TraceT m r #

local :: (r -> r) -> TraceT m a -> TraceT m a #

reader :: (r -> a) -> TraceT m a #

Monad m => Monad (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

Methods

(>>=) :: TraceT m a -> (a -> TraceT m b) -> TraceT m b #

(>>) :: TraceT m a -> TraceT m b -> TraceT m b #

return :: a -> TraceT m a #

fail :: String -> TraceT m a #

Functor m => Functor (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

Methods

fmap :: (a -> b) -> TraceT m a -> TraceT m b #

(<$) :: a -> TraceT m b -> TraceT m a #

Applicative m => Applicative (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

Methods

pure :: a -> TraceT m a #

(<*>) :: TraceT m (a -> b) -> TraceT m a -> TraceT m b #

liftA2 :: (a -> b -> c) -> TraceT m a -> TraceT m b -> TraceT m c #

(*>) :: TraceT m a -> TraceT m b -> TraceT m b #

(<*) :: TraceT m a -> TraceT m b -> TraceT m a #

MonadIO m => MonadIO (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

Methods

liftIO :: IO a -> TraceT m a #

MonadUnliftIO m => MonadUnliftIO (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

Methods

askUnliftIO :: TraceT m (UnliftIO (TraceT m)) #

withRunInIO :: ((forall a. TraceT m a -> IO a) -> IO b) -> TraceT m b #

MonadUnliftIO m => MonadTrace (TraceT m) Source # 
Instance details

Defined in Control.Monad.Trace

runTraceT :: TraceT m a -> Tracer -> m a Source #

Trace an action.

data Tracer Source #

A tracer collects spans emitted inside TraceT.

Constructors

Tracer 

Fields

type Tags = Map Key Value Source #

A collection of span tags.

type Logs = [(POSIXTime, Key, Value)] Source #

A collection of span logs, sorted in chronological order.

data Interval Source #

Timing information about a span.

newTracer :: MonadIO m => m Tracer Source #

Creates a new Tracer.