Skip to content

Commit

Permalink
CAD-2770 new tracing: demo for ChainDB.TraceEvent
Browse files Browse the repository at this point in the history
  • Loading branch information
deepfire authored and jutaro committed May 13, 2021
1 parent bb9dd65 commit 6c43d35
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions cardano-node/src/Cardano/Tracing/Tracers.hs
Expand Up @@ -89,6 +89,8 @@ import Ouroboros.Network.Subscription
import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB
import qualified Ouroboros.Consensus.Storage.LedgerDB.OnDisk as LedgerDB

import qualified Cardano.Logging as L2

import Cardano.Tracing.Config
import Cardano.Tracing.Constraints (TraceConstraints)
import Cardano.Tracing.ConvertTxId (ConvertTxId)
Expand Down Expand Up @@ -272,6 +274,8 @@ instance (StandardHash header, Eq peer) => ElidingTracer
traceWith (toLogObject' tverb tr) ev
return (Just ev, count + 1)

instance L2.LogFormatting (ChainDB.TraceEvent blk) where

-- | Tracers for all system components.
--
mkTracers
Expand All @@ -289,6 +293,61 @@ mkTracers
-> NodeKernelData blk
-> Maybe EKGDirect
-> IO (Tracers peer localPeer blk)
mkTracers _ TracingOnNew{} _ _ _ = do

trBaseL2 <- L2.standardTracer Nothing
trL2 <- L2.machineFormatter L2.DRegular "cardano" trBaseL2
L2.configureTracers L2.emptyTraceConfig
(L2.Documented [])
[trL2]

pure Tracers
{ chainDBTracer = Tracer $
\(a :: (ChainDB.TraceEvent blk)) ->
L2.traceWith trL2 a

, consensusTracers = Consensus.Tracers
{ Consensus.chainSyncClientTracer = nullTracer
, Consensus.chainSyncServerHeaderTracer = nullTracer
, Consensus.chainSyncServerBlockTracer = nullTracer
, Consensus.blockFetchDecisionTracer = nullTracer
, Consensus.blockFetchClientTracer = nullTracer
, Consensus.blockFetchServerTracer = nullTracer
, Consensus.forgeStateInfoTracer = nullTracer
, Consensus.txInboundTracer = nullTracer
, Consensus.txOutboundTracer = nullTracer
, Consensus.localTxSubmissionServerTracer = nullTracer
, Consensus.mempoolTracer = nullTracer
, Consensus.forgeTracer = nullTracer
, Consensus.blockchainTimeTracer = nullTracer
, Consensus.keepAliveClientTracer = nullTracer
}
, nodeToClientTracers = NodeToClient.Tracers
{ NodeToClient.tChainSyncTracer = nullTracer
, NodeToClient.tTxSubmissionTracer = nullTracer
, NodeToClient.tStateQueryTracer = nullTracer
}
, nodeToNodeTracers = NodeToNode.Tracers
{ NodeToNode.tChainSyncTracer = nullTracer
, NodeToNode.tChainSyncSerialisedTracer = nullTracer
, NodeToNode.tBlockFetchTracer = nullTracer
, NodeToNode.tBlockFetchSerialisedTracer = nullTracer
, NodeToNode.tTxSubmissionTracer = nullTracer
, NodeToNode.tTxSubmission2Tracer = nullTracer
}
, ipSubscriptionTracer = nullTracer
, dnsSubscriptionTracer= nullTracer
, dnsResolverTracer = nullTracer
, errorPolicyTracer = nullTracer
, localErrorPolicyTracer = nullTracer
, acceptPolicyTracer = nullTracer
, muxTracer = nullTracer
, muxLocalTracer = nullTracer
, handshakeTracer = nullTracer
, localHandshakeTracer = nullTracer
, diffusionInitializationTracer = nullTracer
}

mkTracers blockConfig tOpts@(TracingOn trSel) tr nodeKern ekgDirect = do
fStats <- mkForgingStats
consensusTracers <- mkConsensusTracers ekgDirect trSel verb tr nodeKern fStats
Expand Down

0 comments on commit 6c43d35

Please sign in to comment.