Skip to content

Commit

Permalink
Preparing for network tracers.
Browse files Browse the repository at this point in the history
  • Loading branch information
jutaro committed Apr 28, 2021
1 parent 3b764c6 commit 9d31a51
Show file tree
Hide file tree
Showing 14 changed files with 128 additions and 25 deletions.
17 changes: 10 additions & 7 deletions cardano-node/cardano-node.cabal
Expand Up @@ -90,13 +90,16 @@ library
Cardano.TraceDispatcher.OrphanInstances.HardFork
Cardano.TraceDispatcher.OrphanInstances.Common
Cardano.TraceDispatcher.OrphanInstances.Shelley
Cardano.TraceDispatcher.ChainDBTracer.Docu
Cardano.TraceDispatcher.ChainDBTracer.Formatting
Cardano.TraceDispatcher.ChainDBTracer.Combinators
Cardano.TraceDispatcher.ConsensusTracer.Docu
Cardano.TraceDispatcher.ConsensusTracer.Formatting
Cardano.TraceDispatcher.ConsensusTracer.Combinators
Cardano.TraceDispatcher.ConsensusTracer.StateInfo
Cardano.TraceDispatcher.ChainDB.Docu
Cardano.TraceDispatcher.ChainDB.Formatting
Cardano.TraceDispatcher.ChainDB.Combinators
Cardano.TraceDispatcher.Consensus.Docu
Cardano.TraceDispatcher.Consensus.Formatting
Cardano.TraceDispatcher.Consensus.Combinators
Cardano.TraceDispatcher.Consensus.StateInfo
Cardano.TraceDispatcher.Network.Docu
Cardano.TraceDispatcher.Network.Formatting
Cardano.TraceDispatcher.Network.Combinators
Cardano.TraceDispatcher.Render
Cardano.Tracing.Config
Cardano.Tracing.Constraints
Expand Down
2 changes: 1 addition & 1 deletion cardano-node/src/Cardano/Node/Protocol/Byron.hs
Expand Up @@ -47,7 +47,7 @@ import Cardano.Tracing.OrphanInstances.HardFork ()

import Cardano.TraceDispatcher.OrphanInstances.Byron ()
import Cardano.TraceDispatcher.OrphanInstances.HardFork ()
import Cardano.TraceDispatcher.ChainDBTracer.Formatting ()
import Cardano.TraceDispatcher.ChainDB.Formatting ()

import Cardano.Node.Protocol.Types

Expand Down
2 changes: 1 addition & 1 deletion cardano-node/src/Cardano/Node/Protocol/Types.hs
Expand Up @@ -23,7 +23,7 @@ import Ouroboros.Consensus.Block (BlockProtocol)
import qualified Ouroboros.Consensus.Cardano as Consensus (Protocol)
import Ouroboros.Consensus.Node.Run (RunNode)

import Cardano.TraceDispatcher.ConsensusTracer.StateInfo(GetKESInfo)
import Cardano.TraceDispatcher.Consensus.StateInfo(GetKESInfo)
import Cardano.Tracing.Constraints (TraceConstraints)
import Cardano.Tracing.Metrics (HasKESMetricsData, HasKESInfo)

Expand Down
@@ -1,5 +1,5 @@

module Cardano.TraceDispatcher.ChainDBTracer.Combinators
module Cardano.TraceDispatcher.ChainDB.Combinators
( severityChainDB
, namesForChainDBTraceEvents
) where
Expand Down
Expand Up @@ -4,7 +4,7 @@

{-# OPTIONS_GHC -Wno-deprecations #-}

module Cardano.TraceDispatcher.ChainDBTracer.Docu
module Cardano.TraceDispatcher.ChainDB.Docu
( docChainDBTraceEvent
) where

Expand Down
Expand Up @@ -7,7 +7,7 @@

{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.TraceDispatcher.ChainDBTracer.Formatting
module Cardano.TraceDispatcher.ChainDB.Formatting
(
) where

Expand Down
@@ -1,5 +1,5 @@

module Cardano.TraceDispatcher.ConsensusTracer.Combinators
module Cardano.TraceDispatcher.Consensus.Combinators
(
severityChainSyncClientEvent
, namesForChainSyncClientEvent
Expand Down
Expand Up @@ -5,7 +5,7 @@

{-# OPTIONS_GHC -Wno-deprecations #-}

module Cardano.TraceDispatcher.ConsensusTracer.Docu
module Cardano.TraceDispatcher.Consensus.Docu
( docChainSyncClientEvent
, docChainSyncServerEvent
, docBlockFetchDecision
Expand Down
Expand Up @@ -8,7 +8,7 @@

{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.TraceDispatcher.ConsensusTracer.Formatting
module Cardano.TraceDispatcher.Consensus.Formatting
(
) where

Expand Down
Expand Up @@ -9,7 +9,7 @@
{-# OPTIONS_GHC -Wno-orphans #-}
{-# OPTIONS_GHC -Wno-deprecations #-}

module Cardano.TraceDispatcher.ConsensusTracer.StateInfo
module Cardano.TraceDispatcher.Consensus.StateInfo
(
GetKESInfo(..)
, severityStateInfo
Expand All @@ -22,7 +22,7 @@ import Data.SOP.Strict

import Cardano.Logging
import Cardano.Prelude hiding (All, Show, show)
import Cardano.TraceDispatcher.ConsensusTracer.Formatting ()
import Cardano.TraceDispatcher.Consensus.Formatting ()

import Ouroboros.Consensus.Block.Forging
import Ouroboros.Consensus.Byron.Ledger.Block (ByronBlock)
Expand Down
25 changes: 25 additions & 0 deletions cardano-node/src/Cardano/TraceDispatcher/Network/Combinators.hs
@@ -0,0 +1,25 @@

module Cardano.TraceDispatcher.Network.Combinators
(
severityTChainSync
, namesTChainSync

) where


import Cardano.Logging
import Cardano.Prelude

import Ouroboros.Network.Block (Serialised, Tip, Point)
import qualified Ouroboros.Network.BlockFetch.ClientState as BlockFetch
import Ouroboros.Network.Driver.Simple (TraceSendRecv (..))
import Ouroboros.Network.Protocol.ChainSync.Type (ChainSync)

severityTChainSync :: BlockFetch.TraceLabelPeer peer (TraceSendRecv
(ChainSync (Serialised blk) (Point blk) (Tip blk))) -> SeverityS
severityTChainSync _ = undefined


namesTChainSync :: BlockFetch.TraceLabelPeer peer (TraceSendRecv
(ChainSync (Serialised blk) (Point blk) (Tip blk))) -> [Text]
namesTChainSync _ = undefined
23 changes: 23 additions & 0 deletions cardano-node/src/Cardano/TraceDispatcher/Network/Docu.hs
@@ -0,0 +1,23 @@
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}


{-# OPTIONS_GHC -Wno-deprecations #-}

module Cardano.TraceDispatcher.Network.Docu
( docTChainSync
) where

import Cardano.Logging
import Cardano.Prelude

import Ouroboros.Network.Block (Serialised, Tip, Point)
import qualified Ouroboros.Network.BlockFetch.ClientState as BlockFetch
import Ouroboros.Network.Driver.Simple (TraceSendRecv (..))
import Ouroboros.Network.Protocol.ChainSync.Type (ChainSync)

docTChainSync :: Documented (BlockFetch.TraceLabelPeer peer (TraceSendRecv
(ChainSync (Serialised blk) (Point blk) (Tip blk))))
docTChainSync = Documented [
]
29 changes: 29 additions & 0 deletions cardano-node/src/Cardano/TraceDispatcher/Network/Formatting.hs
@@ -0,0 +1,29 @@
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}

{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.TraceDispatcher.Network.Formatting
(
) where

import Data.Aeson (ToJSON, Value (String), toJSON, (.=))
import qualified Data.Text as Text
import Text.Show

import Cardano.Logging
import Cardano.Prelude hiding (Show, show)

import Ouroboros.Network.Block (Serialised, Tip, Point)
import qualified Ouroboros.Network.BlockFetch.ClientState as BlockFetch
import Ouroboros.Network.Driver.Simple (TraceSendRecv (..))
import Ouroboros.Network.Protocol.ChainSync.Type (ChainSync)

instance LogFormatting (TraceSendRecv
(ChainSync (Serialised blk) (Point blk) (Tip blk))) where
forMachine _ _ = mempty
39 changes: 31 additions & 8 deletions cardano-node/src/Cardano/TraceDispatcher/Tracers.hs
Expand Up @@ -21,12 +21,16 @@ import qualified Data.Text.IO as T

import Cardano.Logging
import Cardano.Prelude hiding (trace)
import Cardano.TraceDispatcher.ChainDBTracer.Combinators
import Cardano.TraceDispatcher.ChainDBTracer.Docu
import Cardano.TraceDispatcher.ChainDBTracer.Formatting
import Cardano.TraceDispatcher.ConsensusTracer.Combinators
import Cardano.TraceDispatcher.ConsensusTracer.Docu
import Cardano.TraceDispatcher.ConsensusTracer.StateInfo
import Cardano.TraceDispatcher.ChainDB.Combinators
import Cardano.TraceDispatcher.ChainDB.Docu
import Cardano.TraceDispatcher.ChainDB.Formatting
import Cardano.TraceDispatcher.Consensus.Combinators
import Cardano.TraceDispatcher.Consensus.Docu
import Cardano.TraceDispatcher.Consensus.Formatting
import Cardano.TraceDispatcher.Consensus.StateInfo
import Cardano.TraceDispatcher.Network.Combinators
import Cardano.TraceDispatcher.Network.Docu
import Cardano.TraceDispatcher.Network.Formatting
import Cardano.TraceDispatcher.OrphanInstances.Consensus ()

import Cardano.Node.Configuration.Logging (EKGDirect)
Expand Down Expand Up @@ -71,10 +75,12 @@ import Ouroboros.Consensus.Shelley.Ledger.Block
import qualified Ouroboros.Consensus.Shelley.Protocol.HotKey as HotKey
import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB


import Ouroboros.Network.Block (Serialised, Tip)
import qualified Ouroboros.Network.BlockFetch.ClientState as BlockFetch
import Ouroboros.Network.BlockFetch.Decision
import Ouroboros.Network.Driver.Simple (TraceSendRecv)
import Ouroboros.Network.KeepAlive (TraceKeepAliveClient (..))
import Ouroboros.Network.Protocol.ChainSync.Type (ChainSync)
import Ouroboros.Network.TxSubmission.Inbound
(TraceTxSubmissionInbound)
import Ouroboros.Network.TxSubmission.Outbound
Expand Down Expand Up @@ -257,6 +263,21 @@ keepAliveClientTracer trBase = do
pure $ withNamesAppended namesKeepAliveClient
$ withSeverity severityKeepAliveClient trNs

tChainSyncTracer ::
( MonadIO m
, Show peer
, LogFormatting
(TraceSendRecv (ChainSync (Serialised blk) (Point blk) (Tip blk))))
=> Trace m FormattedMessage
-> m (Trace m (BlockFetch.TraceLabelPeer peer
(TraceSendRecv
(ChainSync (Serialised blk) (Point blk) (Tip blk)))))
tChainSyncTracer trBase = do
tr <- humanFormatter True "Cardano" trBase
let trNs = appendName "TChainSync" $ appendName "Node" tr
pure $ withNamesAppended namesTChainSync
$ withSeverity severityTChainSync trNs

docTracers :: forall blk remotePeer t.
( Show remotePeer
, Show (GenTx blk)
Expand Down Expand Up @@ -413,6 +434,7 @@ mkDispatchTracers _blockConfig (TraceDispatcher _trSel) _tr _nodeKern _ekgDirect
fTr <- forgeTracer trBase
btTr <- blockchainTimeTracer trBase
kacTr <- keepAliveClientTracer trBase
tcsTr <- tChainSyncTracer trBase

configureTracers emptyTraceConfig docChainDBTraceEvent [cdbmTr]
configureTracers emptyTraceConfig docChainSyncClientEvent [cscTr]
Expand All @@ -427,6 +449,7 @@ mkDispatchTracers _blockConfig (TraceDispatcher _trSel) _tr _nodeKern _ekgDirect
configureTracers emptyTraceConfig docForge [fTr]
configureTracers emptyTraceConfig docBlockchainTime [btTr]
configureTracers emptyTraceConfig docKeepAliveClient [kacTr]
configureTracers emptyTraceConfig docTChainSync [tcsTr]

pure Tracers
{ chainDBTracer = Tracer (traceWith cdbmTr)
Expand All @@ -448,7 +471,7 @@ mkDispatchTracers _blockConfig (TraceDispatcher _trSel) _tr _nodeKern _ekgDirect
, Consensus.keepAliveClientTracer = Tracer (traceWith kacTr)
}
, nodeToClientTracers = NodeToClient.Tracers
{ NodeToClient.tChainSyncTracer = nullTracer
{ NodeToClient.tChainSyncTracer = Tracer (traceWith tcsTr)
, NodeToClient.tTxSubmissionTracer = nullTracer
, NodeToClient.tStateQueryTracer = nullTracer
}
Expand Down

0 comments on commit 9d31a51

Please sign in to comment.