{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE UndecidableInstances #-}
module Ouroboros.Consensus.Node.Tracers
(
Tracers
, Tracers' (..)
, nullTracers
, showTracers
, TraceForgeEvent (..)
, TraceLabelCreds (..)
, TracePerasCertInclusionEvent (..)
) where
import Control.Exception (SomeException)
import Control.Tracer (Tracer, nullTracer, (>$<))
import Data.Text (Text)
import Data.Time (UTCTime)
import Ouroboros.Consensus.Block
import Ouroboros.Consensus.BlockchainTime
import Ouroboros.Consensus.Forecast (OutsideForecastRange)
import Ouroboros.Consensus.Genesis.Governor (TraceGDDEvent)
import Ouroboros.Consensus.Ledger.Extended (ExtValidationError)
import Ouroboros.Consensus.Ledger.SupportsMempool
import Ouroboros.Consensus.Ledger.SupportsProtocol
import Ouroboros.Consensus.Mempool (MempoolSize, TraceEventMempool)
import Ouroboros.Consensus.Mempool.API (TxMeasureWithDiffTime (..))
import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server
( TraceBlockFetchServerEvent
)
import Ouroboros.Consensus.MiniProtocol.ChainSync.Client
( TraceChainSyncClientEvent
)
import qualified Ouroboros.Consensus.MiniProtocol.ChainSync.Client.Jumping as CSJumping
import Ouroboros.Consensus.MiniProtocol.ChainSync.Server
( TraceChainSyncServerEvent
)
import Ouroboros.Consensus.MiniProtocol.LocalTxSubmission.Server
( TraceLocalTxSubmissionServerEvent (..)
)
import Ouroboros.Consensus.MiniProtocol.ObjectDiffusion.PerasCert
import Ouroboros.Consensus.MiniProtocol.ObjectDiffusion.PerasVote
import Ouroboros.Consensus.Node.GSM (TraceGsmEvent)
import Ouroboros.Consensus.Peras.Cert.Inclusion.Trace
( TracePerasCertInclusionEvent (..)
)
import Ouroboros.Consensus.Peras.Voting.Trace (TracePerasVoteForgingEvent)
import Ouroboros.Consensus.Protocol.Praos.AgentClient
( KESAgentClientTrace (..)
)
import Ouroboros.Network.Block (Tip)
import Ouroboros.Network.BlockFetch
( TraceFetchClientState
, TraceLabelPeer
)
import Ouroboros.Network.BlockFetch.Decision.Trace
( TraceDecisionEvent
)
import Ouroboros.Network.KeepAlive (TraceKeepAliveClient)
import Ouroboros.Network.Tx (HasRawTxId)
import Ouroboros.Network.TxSubmission.Inbound.V2.Types
import Ouroboros.Network.TxSubmission.Outbound
data Tracers' remotePeer localPeer blk f = Tracers
{ forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
chainSyncClientTracer :: f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
, :: f (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceChainSyncServerEvent blk)
chainSyncServerBlockTracer :: f (TraceChainSyncServerEvent blk)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceDecisionEvent remotePeer (Header blk))
blockFetchDecisionTracer :: f (TraceDecisionEvent remotePeer (Header blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceFetchClientState (Header blk)))
blockFetchClientTracer :: f (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk)))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
blockFetchServerTracer :: f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
txInboundTracer ::
f (TraceLabelPeer remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
txOutboundTracer ::
f (TraceLabelPeer remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLocalTxSubmissionServerEvent blk)
localTxSubmissionServerTracer :: f (TraceLocalTxSubmissionServerEvent blk)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
txLogicTracer :: f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f TxSubmissionCounters
txCountersTracer :: f TxSubmissionCounters
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f (TraceEventMempool blk)
mempoolTracer :: f (TraceEventMempool blk)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasCertDiffusionInbound blk))
perasCertDiffusionInboundTracer ::
f (TraceLabelPeer remotePeer (TracePerasCertDiffusionInbound blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasCertDiffusionOutbound blk))
perasCertDiffusionOutboundTracer ::
f (TraceLabelPeer remotePeer (TracePerasCertDiffusionOutbound blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasVoteDiffusionInbound blk))
perasVoteDiffusionInboundTracer ::
f (TraceLabelPeer remotePeer (TracePerasVoteDiffusionInbound blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasVoteDiffusionOutbound blk))
perasVoteDiffusionOutboundTracer ::
f (TraceLabelPeer remotePeer (TracePerasVoteDiffusionOutbound blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TracePerasCertInclusionEvent blk)
perasCertInclusionTracer ::
f (TracePerasCertInclusionEvent blk)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TracePerasVoteForgingEvent blk)
perasVoteForgingTracer :: f (TracePerasVoteForgingEvent blk)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (TraceForgeEvent blk))
forgeTracer :: f (TraceLabelCreds (TraceForgeEvent blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceBlockchainTimeEvent UTCTime)
blockchainTimeTracer :: f (TraceBlockchainTimeEvent UTCTime)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (ForgeStateInfo blk))
forgeStateInfoTracer :: f (TraceLabelCreds (ForgeStateInfo blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceKeepAliveClient remotePeer)
keepAliveClientTracer :: f (TraceKeepAliveClient remotePeer)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f SanityCheckIssue
consensusSanityCheckTracer :: f SanityCheckIssue
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f SomeException
consensusErrorTracer :: f SomeException
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f (TraceGsmEvent (Tip blk))
gsmTracer :: f (TraceGsmEvent (Tip blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceGDDEvent remotePeer blk)
gddTracer :: f (TraceGDDEvent remotePeer blk)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
csjTracer ::
f (TraceLabelPeer remotePeer (CSJumping.TraceEventCsj remotePeer blk))
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f (TraceEventDbf remotePeer)
dbfTracer :: f (CSJumping.TraceEventDbf remotePeer)
, forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f KESAgentClientTrace
kesAgentTracer :: f KESAgentClientTrace
}
instance
(forall a. Semigroup (f a)) =>
Semigroup (Tracers' remotePeer localPeer blk f)
where
Tracers' remotePeer localPeer blk f
l <> :: Tracers' remotePeer localPeer blk f
-> Tracers' remotePeer localPeer blk f
-> Tracers' remotePeer localPeer blk f
<> Tracers' remotePeer localPeer blk f
r =
Tracers
{ chainSyncClientTracer :: f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
chainSyncClientTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk)))
-> f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
chainSyncClientTracer
, chainSyncServerHeaderTracer :: f (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
chainSyncServerHeaderTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk)))
-> f (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
chainSyncServerHeaderTracer
, chainSyncServerBlockTracer :: f (TraceChainSyncServerEvent blk)
chainSyncServerBlockTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceChainSyncServerEvent blk))
-> f (TraceChainSyncServerEvent blk)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceChainSyncServerEvent blk)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceChainSyncServerEvent blk)
chainSyncServerBlockTracer
, blockFetchDecisionTracer :: f (TraceDecisionEvent remotePeer (Header blk))
blockFetchDecisionTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceDecisionEvent remotePeer (Header blk)))
-> f (TraceDecisionEvent remotePeer (Header blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceDecisionEvent remotePeer (Header blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceDecisionEvent remotePeer (Header blk))
blockFetchDecisionTracer
, blockFetchClientTracer :: f (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk)))
blockFetchClientTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceFetchClientState (Header blk))))
-> f (TraceLabelPeer
remotePeer (TraceFetchClientState (Header blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceFetchClientState (Header blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceFetchClientState (Header blk)))
blockFetchClientTracer
, blockFetchServerTracer :: f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
blockFetchServerTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk)))
-> f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
blockFetchServerTracer
, txInboundTracer :: f (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
txInboundTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk))))
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
txInboundTracer
, txOutboundTracer :: f (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
txOutboundTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk))))
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
txOutboundTracer
, localTxSubmissionServerTracer :: f (TraceLocalTxSubmissionServerEvent blk)
localTxSubmissionServerTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLocalTxSubmissionServerEvent blk))
-> f (TraceLocalTxSubmissionServerEvent blk)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLocalTxSubmissionServerEvent blk)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLocalTxSubmissionServerEvent blk)
localTxSubmissionServerTracer
, txLogicTracer :: f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
txLogicTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk)))
-> f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
txLogicTracer
, txCountersTracer :: f TxSubmissionCounters
txCountersTracer = (Tracers' remotePeer localPeer blk f -> f TxSubmissionCounters)
-> f TxSubmissionCounters
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f TxSubmissionCounters
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f TxSubmissionCounters
txCountersTracer
, mempoolTracer :: f (TraceEventMempool blk)
mempoolTracer = (Tracers' remotePeer localPeer blk f -> f (TraceEventMempool blk))
-> f (TraceEventMempool blk)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f (TraceEventMempool blk)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f (TraceEventMempool blk)
mempoolTracer
, perasCertDiffusionInboundTracer :: f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk)))
perasCertDiffusionInboundTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk))))
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasCertDiffusionInbound blk))
perasCertDiffusionInboundTracer
, perasCertDiffusionOutboundTracer :: f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk)))
perasCertDiffusionOutboundTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk))))
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasCertDiffusionOutbound blk))
perasCertDiffusionOutboundTracer
, perasVoteDiffusionInboundTracer :: f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk)))
perasVoteDiffusionInboundTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk))))
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasVoteDiffusionInbound blk))
perasVoteDiffusionInboundTracer
, perasVoteDiffusionOutboundTracer :: f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk)))
perasVoteDiffusionOutboundTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk))))
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk)))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk)))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer
remotePeer (TracePerasVoteDiffusionOutbound blk))
perasVoteDiffusionOutboundTracer
, perasCertInclusionTracer :: f (TracePerasCertInclusionEvent blk)
perasCertInclusionTracer = (Tracers' remotePeer localPeer blk f
-> f (TracePerasCertInclusionEvent blk))
-> f (TracePerasCertInclusionEvent blk)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TracePerasCertInclusionEvent blk)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TracePerasCertInclusionEvent blk)
perasCertInclusionTracer
, perasVoteForgingTracer :: f (TracePerasVoteForgingEvent blk)
perasVoteForgingTracer = (Tracers' remotePeer localPeer blk f
-> f (TracePerasVoteForgingEvent blk))
-> f (TracePerasVoteForgingEvent blk)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TracePerasVoteForgingEvent blk)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TracePerasVoteForgingEvent blk)
perasVoteForgingTracer
, forgeTracer :: f (TraceLabelCreds (TraceForgeEvent blk))
forgeTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (TraceForgeEvent blk)))
-> f (TraceLabelCreds (TraceForgeEvent blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (TraceForgeEvent blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (TraceForgeEvent blk))
forgeTracer
, blockchainTimeTracer :: f (TraceBlockchainTimeEvent UTCTime)
blockchainTimeTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceBlockchainTimeEvent UTCTime))
-> f (TraceBlockchainTimeEvent UTCTime)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceBlockchainTimeEvent UTCTime)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceBlockchainTimeEvent UTCTime)
blockchainTimeTracer
, forgeStateInfoTracer :: f (TraceLabelCreds (ForgeStateInfo blk))
forgeStateInfoTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (ForgeStateInfo blk)))
-> f (TraceLabelCreds (ForgeStateInfo blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (ForgeStateInfo blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelCreds (ForgeStateInfo blk))
forgeStateInfoTracer
, keepAliveClientTracer :: f (TraceKeepAliveClient remotePeer)
keepAliveClientTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceKeepAliveClient remotePeer))
-> f (TraceKeepAliveClient remotePeer)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceKeepAliveClient remotePeer)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceKeepAliveClient remotePeer)
keepAliveClientTracer
, consensusSanityCheckTracer :: f SanityCheckIssue
consensusSanityCheckTracer = (Tracers' remotePeer localPeer blk f -> f SanityCheckIssue)
-> f SanityCheckIssue
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f SanityCheckIssue
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f SanityCheckIssue
consensusSanityCheckTracer
, consensusErrorTracer :: f SomeException
consensusErrorTracer = (Tracers' remotePeer localPeer blk f -> f SomeException)
-> f SomeException
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f SomeException
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f SomeException
consensusErrorTracer
, gsmTracer :: f (TraceGsmEvent (Tip blk))
gsmTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceGsmEvent (Tip blk)))
-> f (TraceGsmEvent (Tip blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f (TraceGsmEvent (Tip blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f (TraceGsmEvent (Tip blk))
gsmTracer
, gddTracer :: f (TraceGDDEvent remotePeer blk)
gddTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceGDDEvent remotePeer blk))
-> f (TraceGDDEvent remotePeer blk)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceGDDEvent remotePeer blk)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceGDDEvent remotePeer blk)
gddTracer
, csjTracer :: f (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
csjTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk)))
-> f (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f
-> f (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
csjTracer
, dbfTracer :: f (TraceEventDbf remotePeer)
dbfTracer = (Tracers' remotePeer localPeer blk f
-> f (TraceEventDbf remotePeer))
-> f (TraceEventDbf remotePeer)
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f (TraceEventDbf remotePeer)
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f (TraceEventDbf remotePeer)
dbfTracer
, kesAgentTracer :: f KESAgentClientTrace
kesAgentTracer = (Tracers' remotePeer localPeer blk f -> f KESAgentClientTrace)
-> f KESAgentClientTrace
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> f KESAgentClientTrace
forall remotePeer localPeer blk (f :: * -> *).
Tracers' remotePeer localPeer blk f -> f KESAgentClientTrace
kesAgentTracer
}
where
f ::
forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f :: forall a.
Semigroup a =>
(Tracers' remotePeer localPeer blk f -> a) -> a
f Tracers' remotePeer localPeer blk f -> a
prj = Tracers' remotePeer localPeer blk f -> a
prj Tracers' remotePeer localPeer blk f
l a -> a -> a
forall a. Semigroup a => a -> a -> a
<> Tracers' remotePeer localPeer blk f -> a
prj Tracers' remotePeer localPeer blk f
r
type Tracers m remotePeer localPeer blk =
Tracers' remotePeer localPeer blk (Tracer m)
nullTracers :: Monad m => Tracers m remotePeer localPeer blk
nullTracers :: forall (m :: * -> *) remotePeer localPeer blk.
Monad m =>
Tracers m remotePeer localPeer blk
nullTracers =
Tracers
{ chainSyncClientTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
chainSyncClientTracer = Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, chainSyncServerHeaderTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
chainSyncServerHeaderTracer = Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, chainSyncServerBlockTracer :: Tracer m (TraceChainSyncServerEvent blk)
chainSyncServerBlockTracer = Tracer m (TraceChainSyncServerEvent blk)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, blockFetchDecisionTracer :: Tracer m (TraceDecisionEvent remotePeer (Header blk))
blockFetchDecisionTracer = Tracer m (TraceDecisionEvent remotePeer (Header blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, blockFetchClientTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk)))
blockFetchClientTracer = Tracer
m (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk)))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, blockFetchServerTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
blockFetchServerTracer = Tracer
m (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, txInboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
txInboundTracer = Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, txOutboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
txOutboundTracer = Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, localTxSubmissionServerTracer :: Tracer m (TraceLocalTxSubmissionServerEvent blk)
localTxSubmissionServerTracer = Tracer m (TraceLocalTxSubmissionServerEvent blk)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, mempoolTracer :: Tracer m (TraceEventMempool blk)
mempoolTracer = Tracer m (TraceEventMempool blk)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, perasCertDiffusionInboundTracer :: Tracer
m (TraceLabelPeer remotePeer (TracePerasCertDiffusionInbound blk))
perasCertDiffusionInboundTracer = Tracer
m (TraceLabelPeer remotePeer (TracePerasCertDiffusionInbound blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, perasCertDiffusionOutboundTracer :: Tracer
m (TraceLabelPeer remotePeer (TracePerasCertDiffusionOutbound blk))
perasCertDiffusionOutboundTracer = Tracer
m (TraceLabelPeer remotePeer (TracePerasCertDiffusionOutbound blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, perasVoteDiffusionInboundTracer :: Tracer
m (TraceLabelPeer remotePeer (TracePerasVoteDiffusionInbound blk))
perasVoteDiffusionInboundTracer = Tracer
m (TraceLabelPeer remotePeer (TracePerasVoteDiffusionInbound blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, perasVoteForgingTracer :: Tracer m (TracePerasVoteForgingEvent blk)
perasVoteForgingTracer = Tracer m (TracePerasVoteForgingEvent blk)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, perasVoteDiffusionOutboundTracer :: Tracer
m (TraceLabelPeer remotePeer (TracePerasVoteDiffusionOutbound blk))
perasVoteDiffusionOutboundTracer = Tracer
m (TraceLabelPeer remotePeer (TracePerasVoteDiffusionOutbound blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, perasCertInclusionTracer :: Tracer m (TracePerasCertInclusionEvent blk)
perasCertInclusionTracer = Tracer m (TracePerasCertInclusionEvent blk)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, forgeTracer :: Tracer m (TraceLabelCreds (TraceForgeEvent blk))
forgeTracer = Tracer m (TraceLabelCreds (TraceForgeEvent blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, blockchainTimeTracer :: Tracer m (TraceBlockchainTimeEvent UTCTime)
blockchainTimeTracer = Tracer m (TraceBlockchainTimeEvent UTCTime)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, forgeStateInfoTracer :: Tracer m (TraceLabelCreds (ForgeStateInfo blk))
forgeStateInfoTracer = Tracer m (TraceLabelCreds (ForgeStateInfo blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, keepAliveClientTracer :: Tracer m (TraceKeepAliveClient remotePeer)
keepAliveClientTracer = Tracer m (TraceKeepAliveClient remotePeer)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, consensusSanityCheckTracer :: Tracer m SanityCheckIssue
consensusSanityCheckTracer = Tracer m SanityCheckIssue
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, consensusErrorTracer :: Tracer m SomeException
consensusErrorTracer = Tracer m SomeException
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, gsmTracer :: Tracer m (TraceGsmEvent (Tip blk))
gsmTracer = Tracer m (TraceGsmEvent (Tip blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, gddTracer :: Tracer m (TraceGDDEvent remotePeer blk)
gddTracer = Tracer m (TraceGDDEvent remotePeer blk)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, csjTracer :: Tracer m (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
csjTracer = Tracer m (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, dbfTracer :: Tracer m (TraceEventDbf remotePeer)
dbfTracer = Tracer m (TraceEventDbf remotePeer)
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, kesAgentTracer :: Tracer m KESAgentClientTrace
kesAgentTracer = Tracer m KESAgentClientTrace
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, txLogicTracer :: Tracer m (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
txLogicTracer = Tracer m (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
, txCountersTracer :: Tracer m TxSubmissionCounters
txCountersTracer = Tracer m TxSubmissionCounters
forall (m :: * -> *) a. Monad m => Tracer m a
nullTracer
}
showTracers ::
( Monad m
, Show blk
, Show (GenTx blk)
, Show (Validated (GenTx blk))
, Show (GenTxId blk)
, Show (ApplyTxErr blk)
, Show (Header blk)
, Show (ForgeStateInfo blk)
, Show (ForgeStateUpdateError blk)
, Show (CannotForge blk)
, Show (TxMeasurePhase1 blk)
, Show (TxMeasurePhase2 blk)
, Show (PerasVote blk)
, Show (PerasCert blk)
, Show (PerasError blk)
, Show remotePeer
, HasRawTxId (GenTxId blk)
, LedgerSupportsProtocol blk
) =>
Tracer m String -> Tracers m remotePeer localPeer blk
showTracers :: forall (m :: * -> *) blk remotePeer localPeer.
(Monad m, Show blk, Show (GenTx blk), Show (Validated (GenTx blk)),
Show (GenTxId blk), Show (ApplyTxErr blk), Show (Header blk),
Show (ForgeStateInfo blk), Show (ForgeStateUpdateError blk),
Show (CannotForge blk), Show (TxMeasurePhase1 blk),
Show (TxMeasurePhase2 blk), Show (PerasVote blk),
Show (PerasCert blk), Show (PerasError blk), Show remotePeer,
HasRawTxId (GenTxId blk), LedgerSupportsProtocol blk) =>
Tracer m String -> Tracers m remotePeer localPeer blk
showTracers Tracer m String
tr =
Tracers
{ chainSyncClientTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
chainSyncClientTracer = TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk) -> String
forall a. Show a => a -> String
show (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk)
-> String)
-> Tracer m String
-> Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncClientEvent blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, chainSyncServerHeaderTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
chainSyncServerHeaderTracer = TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk) -> String
forall a. Show a => a -> String
show (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk)
-> String)
-> Tracer m String
-> Tracer
m (TraceLabelPeer remotePeer (TraceChainSyncServerEvent blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, chainSyncServerBlockTracer :: Tracer m (TraceChainSyncServerEvent blk)
chainSyncServerBlockTracer = TraceChainSyncServerEvent blk -> String
forall a. Show a => a -> String
show (TraceChainSyncServerEvent blk -> String)
-> Tracer m String -> Tracer m (TraceChainSyncServerEvent blk)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, blockFetchDecisionTracer :: Tracer m (TraceDecisionEvent remotePeer (Header blk))
blockFetchDecisionTracer = TraceDecisionEvent remotePeer (Header blk) -> String
forall a. Show a => a -> String
show (TraceDecisionEvent remotePeer (Header blk) -> String)
-> Tracer m String
-> Tracer m (TraceDecisionEvent remotePeer (Header blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, blockFetchClientTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk)))
blockFetchClientTracer = TraceLabelPeer remotePeer (TraceFetchClientState (Header blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk))
-> String)
-> Tracer m String
-> Tracer
m (TraceLabelPeer remotePeer (TraceFetchClientState (Header blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, blockFetchServerTracer :: Tracer
m (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
blockFetchServerTracer = TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk)
-> String
forall a. Show a => a -> String
show (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk)
-> String)
-> Tracer m String
-> Tracer
m (TraceLabelPeer remotePeer (TraceBlockFetchServerEvent blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, txInboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
txInboundTracer = TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk))
-> String)
-> Tracer m String
-> Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionInbound (GenTxId blk) (GenTx blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, txOutboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
txOutboundTracer = TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk))
-> String)
-> Tracer m String
-> Tracer
m
(TraceLabelPeer
remotePeer (TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, localTxSubmissionServerTracer :: Tracer m (TraceLocalTxSubmissionServerEvent blk)
localTxSubmissionServerTracer = TraceLocalTxSubmissionServerEvent blk -> String
forall a. Show a => a -> String
show (TraceLocalTxSubmissionServerEvent blk -> String)
-> Tracer m String
-> Tracer m (TraceLocalTxSubmissionServerEvent blk)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, txLogicTracer :: Tracer m (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
txLogicTracer = TraceTxLogic remotePeer (GenTxId blk) (GenTx blk) -> String
forall a. Show a => a -> String
show (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk) -> String)
-> Tracer m String
-> Tracer m (TraceTxLogic remotePeer (GenTxId blk) (GenTx blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, txCountersTracer :: Tracer m TxSubmissionCounters
txCountersTracer = TxSubmissionCounters -> String
forall a. Show a => a -> String
show (TxSubmissionCounters -> String)
-> Tracer m String -> Tracer m TxSubmissionCounters
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, mempoolTracer :: Tracer m (TraceEventMempool blk)
mempoolTracer = TraceEventMempool blk -> String
forall a. Show a => a -> String
show (TraceEventMempool blk -> String)
-> Tracer m String -> Tracer m (TraceEventMempool blk)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, perasCertDiffusionInboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk)))
perasCertDiffusionInboundTracer = TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk))
-> String)
-> Tracer m String
-> Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasRoundNo (PerasCert blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, perasCertDiffusionOutboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk)))
perasCertDiffusionOutboundTracer = TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk))
-> String)
-> Tracer m String
-> Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasRoundNo (PerasCert blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, perasVoteDiffusionInboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk)))
perasVoteDiffusionInboundTracer = TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk))
-> String)
-> Tracer m String
-> Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionInbound PerasVoteId (PerasVote blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, perasVoteDiffusionOutboundTracer :: Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk)))
perasVoteDiffusionOutboundTracer = TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk))
-> String
forall a. Show a => a -> String
show (TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk))
-> String)
-> Tracer m String
-> Tracer
m
(TraceLabelPeer
remotePeer
(TraceObjectDiffusionOutbound PerasVoteId (PerasVote blk)))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, perasCertInclusionTracer :: Tracer m (TracePerasCertInclusionEvent blk)
perasCertInclusionTracer = TracePerasCertInclusionEvent blk -> String
forall a. Show a => a -> String
show (TracePerasCertInclusionEvent blk -> String)
-> Tracer m String -> Tracer m (TracePerasCertInclusionEvent blk)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, perasVoteForgingTracer :: Tracer m (TracePerasVoteForgingEvent blk)
perasVoteForgingTracer = TracePerasVoteForgingEvent blk -> String
forall a. Show a => a -> String
show (TracePerasVoteForgingEvent blk -> String)
-> Tracer m String -> Tracer m (TracePerasVoteForgingEvent blk)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, forgeTracer :: Tracer m (TraceLabelCreds (TraceForgeEvent blk))
forgeTracer = TraceLabelCreds (TraceForgeEvent blk) -> String
forall a. Show a => a -> String
show (TraceLabelCreds (TraceForgeEvent blk) -> String)
-> Tracer m String
-> Tracer m (TraceLabelCreds (TraceForgeEvent blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, blockchainTimeTracer :: Tracer m (TraceBlockchainTimeEvent UTCTime)
blockchainTimeTracer = TraceBlockchainTimeEvent UTCTime -> String
forall a. Show a => a -> String
show (TraceBlockchainTimeEvent UTCTime -> String)
-> Tracer m String -> Tracer m (TraceBlockchainTimeEvent UTCTime)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, forgeStateInfoTracer :: Tracer m (TraceLabelCreds (ForgeStateInfo blk))
forgeStateInfoTracer = TraceLabelCreds (ForgeStateInfo blk) -> String
forall a. Show a => a -> String
show (TraceLabelCreds (ForgeStateInfo blk) -> String)
-> Tracer m String
-> Tracer m (TraceLabelCreds (ForgeStateInfo blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, keepAliveClientTracer :: Tracer m (TraceKeepAliveClient remotePeer)
keepAliveClientTracer = TraceKeepAliveClient remotePeer -> String
forall a. Show a => a -> String
show (TraceKeepAliveClient remotePeer -> String)
-> Tracer m String -> Tracer m (TraceKeepAliveClient remotePeer)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, consensusSanityCheckTracer :: Tracer m SanityCheckIssue
consensusSanityCheckTracer = SanityCheckIssue -> String
forall a. Show a => a -> String
show (SanityCheckIssue -> String)
-> Tracer m String -> Tracer m SanityCheckIssue
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, consensusErrorTracer :: Tracer m SomeException
consensusErrorTracer = SomeException -> String
forall a. Show a => a -> String
show (SomeException -> String)
-> Tracer m String -> Tracer m SomeException
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, gsmTracer :: Tracer m (TraceGsmEvent (Tip blk))
gsmTracer = TraceGsmEvent (Tip blk) -> String
forall a. Show a => a -> String
show (TraceGsmEvent (Tip blk) -> String)
-> Tracer m String -> Tracer m (TraceGsmEvent (Tip blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, gddTracer :: Tracer m (TraceGDDEvent remotePeer blk)
gddTracer = TraceGDDEvent remotePeer blk -> String
forall a. Show a => a -> String
show (TraceGDDEvent remotePeer blk -> String)
-> Tracer m String -> Tracer m (TraceGDDEvent remotePeer blk)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, csjTracer :: Tracer m (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
csjTracer = TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk) -> String
forall a. Show a => a -> String
show (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk)
-> String)
-> Tracer m String
-> Tracer
m (TraceLabelPeer remotePeer (TraceEventCsj remotePeer blk))
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, dbfTracer :: Tracer m (TraceEventDbf remotePeer)
dbfTracer = TraceEventDbf remotePeer -> String
forall a. Show a => a -> String
show (TraceEventDbf remotePeer -> String)
-> Tracer m String -> Tracer m (TraceEventDbf remotePeer)
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
, kesAgentTracer :: Tracer m KESAgentClientTrace
kesAgentTracer = KESAgentClientTrace -> String
forall a. Show a => a -> String
show (KESAgentClientTrace -> String)
-> Tracer m String -> Tracer m KESAgentClientTrace
forall (f :: * -> *) a b. Contravariant f => (a -> b) -> f b -> f a
>$< Tracer m String
tr
}
data TraceForgeEvent blk
=
TraceStartLeadershipCheck SlotNo
|
TraceSlotIsImmutable SlotNo (Point blk) BlockNo
|
TraceBlockFromFuture SlotNo SlotNo
|
TraceBlockContext SlotNo BlockNo (Point blk)
|
TraceNoLedgerState SlotNo (Point blk)
|
TraceLedgerState SlotNo (Point blk)
|
TraceNoLedgerView SlotNo OutsideForecastRange
|
TraceLedgerView SlotNo
|
TraceForgeStateUpdateError SlotNo (ForgeStateUpdateError blk)
|
TraceNodeCannotForge SlotNo (CannotForge blk)
|
TraceNodeNotLeader SlotNo
|
TraceNodeIsLeader SlotNo
|
TraceForgeTickedLedgerState SlotNo (Point blk)
|
TraceForgingMempoolSnapshot SlotNo (Point blk) (ChainHash blk) SlotNo
|
TraceForgedBlock SlotNo (Point blk) blk MempoolSize (TxMeasureWithDiffTime blk)
|
TraceDidntAdoptBlock SlotNo blk
|
TraceAdoptionThreadDied SlotNo blk
|
TraceForgedInvalidBlock SlotNo blk (ExtValidationError blk)
|
TraceAdoptedBlock SlotNo blk [Validated (GenTx blk)]
deriving instance
( LedgerSupportsProtocol blk
, Eq blk
, Eq (Validated (GenTx blk))
, Eq (ForgeStateUpdateError blk)
, Eq (CannotForge blk)
, Eq (TxMeasurePhase1 blk)
, Eq (TxMeasurePhase2 blk)
, Eq (PerasError blk)
) =>
Eq (TraceForgeEvent blk)
deriving instance
( LedgerSupportsProtocol blk
, Show blk
, Show (Validated (GenTx blk))
, Show (ForgeStateUpdateError blk)
, Show (CannotForge blk)
, Show (TxMeasurePhase1 blk)
, Show (TxMeasurePhase2 blk)
, Show (PerasError blk)
) =>
Show (TraceForgeEvent blk)
data TraceLabelCreds a = TraceLabelCreds Text a
deriving (TraceLabelCreds a -> TraceLabelCreds a -> Bool
(TraceLabelCreds a -> TraceLabelCreds a -> Bool)
-> (TraceLabelCreds a -> TraceLabelCreds a -> Bool)
-> Eq (TraceLabelCreds a)
forall a. Eq a => TraceLabelCreds a -> TraceLabelCreds a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall a. Eq a => TraceLabelCreds a -> TraceLabelCreds a -> Bool
== :: TraceLabelCreds a -> TraceLabelCreds a -> Bool
$c/= :: forall a. Eq a => TraceLabelCreds a -> TraceLabelCreds a -> Bool
/= :: TraceLabelCreds a -> TraceLabelCreds a -> Bool
Eq, Int -> TraceLabelCreds a -> ShowS
[TraceLabelCreds a] -> ShowS
TraceLabelCreds a -> String
(Int -> TraceLabelCreds a -> ShowS)
-> (TraceLabelCreds a -> String)
-> ([TraceLabelCreds a] -> ShowS)
-> Show (TraceLabelCreds a)
forall a. Show a => Int -> TraceLabelCreds a -> ShowS
forall a. Show a => [TraceLabelCreds a] -> ShowS
forall a. Show a => TraceLabelCreds a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall a. Show a => Int -> TraceLabelCreds a -> ShowS
showsPrec :: Int -> TraceLabelCreds a -> ShowS
$cshow :: forall a. Show a => TraceLabelCreds a -> String
show :: TraceLabelCreds a -> String
$cshowList :: forall a. Show a => [TraceLabelCreds a] -> ShowS
showList :: [TraceLabelCreds a] -> ShowS
Show, (forall a b. (a -> b) -> TraceLabelCreds a -> TraceLabelCreds b)
-> (forall a b. a -> TraceLabelCreds b -> TraceLabelCreds a)
-> Functor TraceLabelCreds
forall a b. a -> TraceLabelCreds b -> TraceLabelCreds a
forall a b. (a -> b) -> TraceLabelCreds a -> TraceLabelCreds b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
$cfmap :: forall a b. (a -> b) -> TraceLabelCreds a -> TraceLabelCreds b
fmap :: forall a b. (a -> b) -> TraceLabelCreds a -> TraceLabelCreds b
$c<$ :: forall a b. a -> TraceLabelCreds b -> TraceLabelCreds a
<$ :: forall a b. a -> TraceLabelCreds b -> TraceLabelCreds a
Functor)