Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class MonadTiming m where
- type TimingTree = Tree (Tag, NominalDiffTime)
- type Tag = String
- newtype TimingT m a = TimingT {
- _runTimingT :: m (a, [TimingTree])
- runTimingT :: MonadIO m => TimingT m a -> m (a, TimingTree)
- execTimingT :: MonadIO m => TimingT m b -> m TimingTree
- newtype NoTimingT m a = NoTimingT {
- runNoTimingT :: m a
Introduction
This package provides an mtl-like interface for timing subcomponents of an arbitrary computation.
MonadTiming
class MonadTiming m where Source #
Monads that support timing subcomputations.
MonadTiming (NoTimingT m) Source # | |
MonadIO m => MonadTiming (TimingT m) Source # | |
type TimingTree = Tree (Tag, NominalDiffTime) Source #
A tree of timing events.
TimingT
, general timing handler
A monad transformer that records timing events.
Note that this module exports both _runTimingT
and runTimingT
.
_runTimingT
returns the timing events verbatim without sanitization.runTimingT
combines trees with the sameTag
and tags the duration of the entire computation with the special tag<all>
.
TimingT | |
|
MonadTrans TimingT Source # | |
MonadRWS r w s m => MonadRWS r w s (TimingT m) Source # | |
MonadBase b m => MonadBase b (TimingT m) Source # | |
MonadBaseControl b m => MonadBaseControl b (TimingT m) Source # | |
MonadError e m => MonadError e (TimingT m) Source # | |
MonadReader r m => MonadReader r (TimingT m) Source # | |
MonadState s m => MonadState s (TimingT m) Source # | |
MonadWriter w m => MonadWriter w (TimingT m) Source # | |
Monad m => Monad (TimingT m) Source # | |
Functor m => Functor (TimingT m) Source # | |
MonadFix m => MonadFix (TimingT m) Source # | |
Applicative m => Applicative (TimingT m) Source # | |
MonadIO m => MonadIO (TimingT m) Source # | |
Alternative m => Alternative (TimingT m) Source # | |
MonadPlus m => MonadPlus (TimingT m) Source # | |
MonadThrow m => MonadThrow (TimingT m) Source # | |
MonadCatch m => MonadCatch (TimingT m) Source # | |
MonadMask m => MonadMask (TimingT m) Source # | |
MonadCont m => MonadCont (TimingT m) Source # | |
MonadIO m => MonadTiming (TimingT m) Source # | |
type StM (TimingT m) a Source # | |
runTimingT :: MonadIO m => TimingT m a -> m (a, TimingTree) Source #
Run the giving TimingT
computation, recording timing events.
execTimingT :: MonadIO m => TimingT m b -> m TimingTree Source #
Run a TimingT
computation, discarding the result.
NoTimingT
, a no-timing handler
newtype NoTimingT m a Source #
Run a computation without recording any timing data.
NoTimingT | |
|