tracer-transformers-0.1.0.1: tracer transformers and examples showing their use
Safe HaskellNone
LanguageHaskell2010

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.

data OutcomeFidelity a Source #

Also need to know that observables happened in the "right way"

Instances

Instances details
Show a => Show (OutcomeFidelity a) Source # 
Instance details

Defined in Control.Tracer.Transformers.ObserveOutcome

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.