tracer-transformers-0.1.0.1: tracer transformers and examples showing their use
Safe Haskell None
Language Haskell2010

Control.Tracer.Transformers.ObserveOutcome

Contents

Description

Observing events with annotations of thread id and time.

Synopsis

transformer

type OutcomeEnhancedTracer m a = Tracer m ( Either a ( OutcomeFidelity ( OutcomeMetric a))) Source #

The Maybe (OutcomeMetric a) captures the 'DeltaQ-ness' of the nature of outcomes, may / may not complete.

mkOutcomeExtractor :: forall m a. ( MonadIO m, MonadMask m, Outcome m a) => m ( OutcomeEnhancedTracer m a -> Tracer m a) Source #

Generic Trace transformer. It could be written to take an initial argument, but restricting the scope of that per-invocation state seems more appropriate (for the moment). That may be of use if/when explict management of timeout was required and/or non-termination of the outcome at the end of a run was of interest.