tracing-0.0.1.2: Distributed tracing

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trace

Description

The TraceT class.

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.

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.