marconi-core-1.2.0.0: Modular indexing for rewindable ledger
Safe HaskellSafe-Inferred
LanguageHaskell2010

Marconi.Core.Transformer.WithTracer

Description

A transformer that add tracing capability to an indexer.

See Marconi.Core for documentation.

Synopsis

Event

data IndexerEvent point #

Event available for the tracer

Instances

Instances details
Show point => Show (IndexerEvent point) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Pretty point => Pretty (IndexerEvent point) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

pretty :: IndexerEvent point -> Doc ann

prettyList :: [IndexerEvent point] -> Doc ann

Trace

data WithTrace m indexer event #

A tracer modifier that adds tracing to an existing indexer

Instances

Instances details
(Queryable m event query indexer, MonadIO m, MonadError (QueryError e) m) => Queryable m event query (WithTrace IO indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

query :: Point event -> query -> WithTrace IO indexer event -> m (Result query) #

queryLatest :: query -> WithTrace IO indexer event -> m (Result query) #

(MonadIO m, MonadError IndexerError m, IsIndex m event index) => IsIndex m event (WithTrace m index) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

index :: Timed (Point event) (Maybe event) -> WithTrace m index event -> m (WithTrace m index event) #

indexAll :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTrace m index event -> m (WithTrace m index event) #

indexAllDescending :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTrace m index event -> m (WithTrace m index event) #

rollback :: Point event -> WithTrace m index event -> m (WithTrace m index event) #

setLastStablePoint :: Point event -> WithTrace m index event -> m (WithTrace m index event) #

IsSync m event indexer => IsSync m event (WithTrace n indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

lastStablePoint :: WithTrace n indexer event -> m (Point event) #

lastSyncPoint :: WithTrace n indexer event -> m (Point event) #

(HasGenesis (Point event), Functor m, Resetable m event indexer) => Resetable m event (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

reset :: WithTrace m indexer event -> m (WithTrace m indexer event) #

HasTraceConfig m event (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

trace :: Lens' (WithTrace m indexer event) (Trace m (IndexerEvent (Point event))) #

(MonadIO m, Closeable m indexer) => Closeable m (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

close :: WithTrace m indexer event -> m () #

IndexerTrans (WithTrace m) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

unwrap :: forall (indexer :: Type -> Type) event. Lens' (WithTrace m indexer event) (indexer event) #

(MonadTrans t, MonadIO m, MonadIO (t m), MonadError IndexerError (t m), IsIndex (t m) event index) => IsIndex (t m) event (WithTrace m index) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

index :: Timed (Point event) (Maybe event) -> WithTrace m index event -> t m (WithTrace m index event) #

indexAll :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTrace m index event -> t m (WithTrace m index event) #

indexAllDescending :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTrace m index event -> t m (WithTrace m index event) #

rollback :: Point event -> WithTrace m index event -> t m (WithTrace m index event) #

setLastStablePoint :: Point event -> WithTrace m index event -> t m (WithTrace m index event) #

(MonadTrans t, Monad m, Monad (t m), HasGenesis (Point event), Resetable (t m) event indexer) => Resetable (t m) event (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

reset :: WithTrace m indexer event -> t m (WithTrace m indexer event) #

(MonadTrans t, MonadIO (t m), MonadIO m, MonadError IndexerError (t m), Closeable (t m) indexer) => Closeable (t m) (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

close :: WithTrace m indexer event -> t m () #

HasDatabasePath indexer => HasDatabasePath (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

getDatabasePath :: WithTrace m indexer event -> SQLiteDBLocation #

withTrace :: Applicative m => Trace m (IndexerEvent (Point event)) -> indexer event -> WithTrace m indexer event #

A smart constructor for WithTrace

withTraceM :: MonadIO m => Trace m (IndexerEvent (Point event)) -> m (indexer event) -> m (WithTrace m indexer event) #

A monadic smart constructor for WithTrace

class HasTraceConfig m event indexer where #

It gives access to the tracer. The provided instances allows access to the tracer event below an indexer transformer.

Methods

trace :: Lens' (indexer event) (Trace m (IndexerEvent (Point event))) #

Instances

Instances details
(IndexerTrans t, HasTraceConfig m event indexer) => HasTraceConfig m event (t indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

trace :: Lens' (t indexer event) (Trace m (IndexerEvent (Point event))) #

HasTraceConfig m event (WithTrace m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

trace :: Lens' (WithTrace m indexer event) (Trace m (IndexerEvent (Point event))) #

(IndexerMapTrans t, HasTraceConfig m output indexer) => HasTraceConfig m output (t indexer output) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

trace :: Lens' (t indexer output output) (Trace m (IndexerEvent (Point output))) #

Tracer

data WithTracer m indexer event #

A tracer modifier that adds tracing to an existing indexer

Instances

Instances details
Queryable m event query indexer => Queryable m event query (WithTracer n indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

query :: Point event -> query -> WithTracer n indexer event -> m (Result query) #

queryLatest :: query -> WithTracer n indexer event -> m (Result query) #

(Applicative m, IsIndex m event index) => IsIndex m event (WithTracer m index) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

index :: Timed (Point event) (Maybe event) -> WithTracer m index event -> m (WithTracer m index event) #

indexAll :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTracer m index event -> m (WithTracer m index event) #

indexAllDescending :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTracer m index event -> m (WithTracer m index event) #

rollback :: Point event -> WithTracer m index event -> m (WithTracer m index event) #

setLastStablePoint :: Point event -> WithTracer m index event -> m (WithTracer m index event) #

IsSync m event indexer => IsSync m event (WithTracer n indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

lastStablePoint :: WithTracer n indexer event -> m (Point event) #

lastSyncPoint :: WithTracer n indexer event -> m (Point event) #

(HasGenesis (Point event), Functor m, Resetable m event indexer) => Resetable m event (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

reset :: WithTracer m indexer event -> m (WithTracer m indexer event) #

HasTracerConfig m event (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

tracer :: Lens' (WithTracer m indexer event) (Tracer m (IndexerEvent (Point event))) #

(Applicative m, Closeable m indexer) => Closeable m (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

close :: WithTracer m indexer event -> m () #

IndexerTrans (WithTracer m) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

unwrap :: forall (indexer :: Type -> Type) event. Lens' (WithTracer m indexer event) (indexer event) #

(MonadTrans t, Monad m, Monad (t m), IsIndex (t m) event index) => IsIndex (t m) event (WithTracer m index) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

index :: Timed (Point event) (Maybe event) -> WithTracer m index event -> t m (WithTracer m index event) #

indexAll :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTracer m index event -> t m (WithTracer m index event) #

indexAllDescending :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> WithTracer m index event -> t m (WithTracer m index event) #

rollback :: Point event -> WithTracer m index event -> t m (WithTracer m index event) #

setLastStablePoint :: Point event -> WithTracer m index event -> t m (WithTracer m index event) #

(MonadTrans t, Monad m, Monad (t m), HasGenesis (Point event), Resetable (t m) event indexer) => Resetable (t m) event (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

reset :: WithTracer m indexer event -> t m (WithTracer m indexer event) #

(MonadTrans t, Applicative (t m), Monad m, Closeable (t m) indexer) => Closeable (t m) (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

close :: WithTracer m indexer event -> t m () #

HasDatabasePath indexer => HasDatabasePath (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

getDatabasePath :: WithTracer m indexer event -> SQLiteDBLocation #

withTracer :: Applicative m => Tracer m (IndexerEvent (Point event)) -> indexer event -> WithTracer m indexer event #

A smart constructor for WithTracer

withTracerM :: Applicative m => Tracer m (IndexerEvent (Point event)) -> m (indexer event) -> m (WithTracer m indexer event) #

A monadic smart constructor for WithTracer

class HasTracerConfig m event indexer where #

It gives access to the tracer. The provided instances allows access to the tracer event below an indexer transformer.

Methods

tracer :: Lens' (indexer event) (Tracer m (IndexerEvent (Point event))) #

Instances

Instances details
(IndexerTrans t, HasTracerConfig m event indexer) => HasTracerConfig m event (t indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

tracer :: Lens' (t indexer event) (Tracer m (IndexerEvent (Point event))) #

HasTracerConfig m event (WithTracer m indexer) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

tracer :: Lens' (WithTracer m indexer event) (Tracer m (IndexerEvent (Point event))) #

(IndexerMapTrans t, HasTracerConfig m output indexer) => HasTracerConfig m output (t indexer output) # 
Instance details

Defined in Marconi.Core.Transformer.WithTracer

Methods

tracer :: Lens' (t indexer output output) (Tracer m (IndexerEvent (Point output))) #