Skip to content

Commit dad33d9

Browse files
authored
Merge pull request #6104 from IntersectMBO/bench-master
bench: small fixes for tracing in node and workbench
2 parents 4a4c0b9 + 603374a commit dad33d9

File tree

9 files changed

+220
-162
lines changed

9 files changed

+220
-162
lines changed

cardano-node/src/Cardano/Node/Startup.hs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ import Prelude
4646
import Control.DeepSeq (NFData)
4747
import Data.Aeson (FromJSON, ToJSON)
4848
import Data.Map.Strict (Map)
49-
import Data.Monoid (Last (..), getLast)
49+
import Data.Monoid (Last (..))
5050
import Data.Text (Text, pack)
5151
import Data.Time.Clock (NominalDiffTime, UTCTime)
5252
import Data.Version (showVersion)
@@ -250,9 +250,16 @@ prepareNodeInfo nc (SomeConsensusProtocol whichP pForInfo) tc nodeStartTime = do
250250
-- In this case we should form node's name as "host_port",
251251
-- where 'host' is the machine's host name and 'port' is taken
252252
-- from the '--port' CLI-parameter.
253-
let SocketConfig{ncNodePortNumber = port} = ncSocketConfig nc
253+
254+
let suffix :: String
255+
suffix
256+
| SocketConfig{ncNodePortNumber = Last (Just port)} <- ncSocketConfig nc
257+
= "_" <> show port
258+
| otherwise
259+
= ""
260+
254261
hostName <- getHostName
255-
return . pack $ hostName <> "_" <> show (getLast port)
262+
return (pack (hostName <> suffix))
256263

257264
-- | This information is taken from 'BasicInfoShelleyBased'. It is required for
258265
-- 'cardano-tracer' service (particularly, for RTView).

cardano-node/src/Cardano/Node/Tracing/Consistency.hs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ module Cardano.Node.Tracing.Consistency
1212
, checkNodeTraceConfiguration'
1313
) where
1414

15+
1516
import Cardano.Logging
1617
import Cardano.Logging.Resources
1718
import Cardano.Logging.Resources.Types ()
@@ -23,29 +24,33 @@ import Cardano.Node.Tracing.Formatting ()
2324
import qualified Cardano.Node.Tracing.StateRep as SR
2425
import Cardano.Node.Tracing.Tracers.BlockReplayProgress
2526
import Cardano.Node.Tracing.Tracers.Consensus
27+
import Cardano.Node.Tracing.Tracers.ConsensusStartupException
2628
import Cardano.Node.Tracing.Tracers.Diffusion ()
2729
import Cardano.Node.Tracing.Tracers.KESInfo ()
2830
import Cardano.Node.Tracing.Tracers.NodeToClient ()
2931
import Cardano.Node.Tracing.Tracers.NodeToNode ()
3032
import Cardano.Node.Tracing.Tracers.NodeVersion (NodeVersionTrace)
31-
3233
import Cardano.Node.Tracing.Tracers.NonP2P ()
3334
import Cardano.Node.Tracing.Tracers.P2P ()
3435
import Cardano.Node.Tracing.Tracers.Peer
3536
import Cardano.Node.Tracing.Tracers.Shutdown ()
3637
import Cardano.Node.Tracing.Tracers.Startup ()
38+
import Ouroboros.Consensus.Block.SupportsSanityCheck (SanityCheckIssue)
3739
import Ouroboros.Consensus.BlockchainTime.WallClock.Types (RelativeTime)
3840
import Ouroboros.Consensus.BlockchainTime.WallClock.Util (TraceBlockchainTimeEvent (..))
3941
import Ouroboros.Consensus.Cardano.Block
42+
import Ouroboros.Consensus.Genesis.Governor (TraceGDDEvent (..))
4043
import Ouroboros.Consensus.Ledger.Query (Query)
4144
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTxId)
4245
import Ouroboros.Consensus.Mempool (TraceEventMempool (..))
4346
import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server
4447
(TraceBlockFetchServerEvent (..))
4548
import Ouroboros.Consensus.MiniProtocol.ChainSync.Client (TraceChainSyncClientEvent)
49+
import Ouroboros.Consensus.MiniProtocol.ChainSync.Client.Jumping as Jumping
4650
import Ouroboros.Consensus.MiniProtocol.ChainSync.Server (TraceChainSyncServerEvent)
4751
import Ouroboros.Consensus.MiniProtocol.LocalTxSubmission.Server
4852
(TraceLocalTxSubmissionServerEvent (..))
53+
import Ouroboros.Consensus.Node.GSM (TraceGsmEvent)
4954
import qualified Ouroboros.Consensus.Protocol.Ledger.HotKey as HotKey
5055
import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB
5156
import Ouroboros.Network.Block (Point (..), SlotNo, Tip)
@@ -139,12 +144,12 @@ getAllNamespaces =
139144
replayBlockNS = map (nsGetTuple . nsReplacePrefix ["ChainDB", "ReplayBlock"])
140145
(allNamespaces :: [Namespace ReplayBlockStats])
141146
-- Consensus tracers
147+
142148
chainSyncClientNS = map
143149
(nsGetTuple . nsReplacePrefix ["ChainSync", "Client"])
144150
(allNamespaces :: [Namespace (BlockFetch.TraceLabelPeer
145151
(ConnectionId RemoteAddress)
146152
(TraceChainSyncClientEvent blk))])
147-
148153
chainSyncServerHeaderNS = map (nsGetTuple . nsReplacePrefix ["ChainSync", "ServerHeader"])
149154
(allNamespaces :: [Namespace (TraceChainSyncServerEvent blk)])
150155
chainSyncServerBlockNS = map (nsGetTuple . nsReplacePrefix ["ChainSync", "ServerBlock"])
@@ -157,7 +162,6 @@ getAllNamespaces =
157162
(allNamespaces :: [Namespace (BlockFetch.TraceLabelPeer
158163
remotePeer
159164
(BlockFetch.TraceFetchClientState (Header blk)))])
160-
161165
blockFetchServerNS = map (nsGetTuple . nsReplacePrefix ["BlockFetch", "Server"])
162166
(allNamespaces :: [Namespace (TraceBlockFetchServerEvent blk)])
163167

@@ -172,6 +176,8 @@ getAllNamespaces =
172176
(allNamespaces :: [Namespace (BlockFetch.TraceLabelPeer
173177
remotePeer
174178
(TraceTxSubmissionOutbound (GenTxId blk) (GenTx blk)))])
179+
consensusSanityCheckNS = map (nsGetTuple . nsReplacePrefix ["Consensus", "SanityCheck"])
180+
(allNamespaces :: [Namespace SanityCheckIssue])
175181
localTxSubmissionServerNS = map (nsGetTuple . nsReplacePrefix
176182
["TxSubmission", "LocalServer"])
177183
(allNamespaces :: [Namespace
@@ -183,6 +189,14 @@ getAllNamespaces =
183189

184190
blockchainTimeNS = map (nsGetTuple . nsReplacePrefix ["BlockchainTime"])
185191
(allNamespaces :: [Namespace (TraceBlockchainTimeEvent RelativeTime)])
192+
gddNS = map (nsGetTuple . nsReplacePrefix ["Consensus", "GDD"])
193+
(allNamespaces :: [Namespace (TraceGDDEvent peer blk)])
194+
consensusStartupErrorNS = map (nsGetTuple . nsReplacePrefix ["Consensus", "Startup"])
195+
(allNamespaces :: [Namespace ConsensusStartupException])
196+
gsmNS = map (nsGetTuple . nsReplacePrefix ["Consensus", "GSM"])
197+
(allNamespaces :: [Namespace (TraceGsmEvent (Tip blk))])
198+
csjNS = map (nsGetTuple . nsReplacePrefix ["Consensus", "CSJ"])
199+
(allNamespaces :: [Namespace (Jumping.TraceEvent peer)])
186200

187201
-- Node to client
188202
keepAliveClientNS = map (nsGetTuple . nsReplacePrefix ["Net"])
@@ -380,6 +394,7 @@ getAllNamespaces =
380394
<> chainSyncServerHeaderNS
381395
<> chainSyncServerBlockNS
382396
<> blockFetchDecisionNS
397+
<> consensusSanityCheckNS
383398
<> blockFetchClientNS
384399
<> blockFetchServerNS
385400
<> forgeKESInfoNS
@@ -389,6 +404,10 @@ getAllNamespaces =
389404
<> mempoolNS
390405
<> forgeNS
391406
<> blockchainTimeNS
407+
<> gddNS
408+
<> consensusStartupErrorNS
409+
<> gsmNS
410+
<> csjNS
392411
-- NodeToClient
393412
<> keepAliveClientNS
394413
<> chainSyncNS

cardano-node/src/Cardano/Node/Tracing/Documentation.hs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ module Cardano.Node.Tracing.Documentation
1818
, docTracersFirstPhase
1919
) where
2020

21+
2122
import Cardano.Logging as Logging
2223
import Cardano.Logging.Resources
2324
import Cardano.Logging.Resources.Types ()
@@ -30,6 +31,7 @@ import qualified Cardano.Node.Tracing.StateRep as SR
3031
import Cardano.Node.Tracing.Tracers.BlockReplayProgress
3132
import Cardano.Node.Tracing.Tracers.ChainDB
3233
import Cardano.Node.Tracing.Tracers.Consensus
34+
import Cardano.Node.Tracing.Tracers.ConsensusStartupException
3335
import Cardano.Node.Tracing.Tracers.Diffusion ()
3436
import Cardano.Node.Tracing.Tracers.ForgingThreadStats (ForgeThreadStats)
3537
import Cardano.Node.Tracing.Tracers.KESInfo ()
@@ -41,18 +43,22 @@ import Cardano.Node.Tracing.Tracers.P2P ()
4143
import Cardano.Node.Tracing.Tracers.Peer
4244
import Cardano.Node.Tracing.Tracers.Shutdown ()
4345
import Cardano.Node.Tracing.Tracers.Startup ()
46+
import Ouroboros.Consensus.Block.SupportsSanityCheck (SanityCheckIssue)
4447
import Ouroboros.Consensus.BlockchainTime.WallClock.Types (RelativeTime)
4548
import Ouroboros.Consensus.BlockchainTime.WallClock.Util (TraceBlockchainTimeEvent (..))
4649
import Ouroboros.Consensus.Cardano.Block
50+
import Ouroboros.Consensus.Genesis.Governor (TraceGDDEvent (..))
4751
import Ouroboros.Consensus.Ledger.Query (Query)
4852
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTxId)
4953
import Ouroboros.Consensus.Mempool (TraceEventMempool (..))
5054
import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server
5155
(TraceBlockFetchServerEvent (..))
5256
import Ouroboros.Consensus.MiniProtocol.ChainSync.Client (TraceChainSyncClientEvent)
57+
import Ouroboros.Consensus.MiniProtocol.ChainSync.Client.Jumping as Jumping
5358
import Ouroboros.Consensus.MiniProtocol.ChainSync.Server (TraceChainSyncServerEvent)
5459
import Ouroboros.Consensus.MiniProtocol.LocalTxSubmission.Server
5560
(TraceLocalTxSubmissionServerEvent (..))
61+
import Ouroboros.Consensus.Node.GSM (TraceGsmEvent)
5662
import qualified Ouroboros.Consensus.Node.Tracers as Consensus
5763
import qualified Ouroboros.Consensus.Protocol.Ledger.HotKey as HotKey
5864
import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB
@@ -376,6 +382,43 @@ docTracersFirstPhase condConfigFileName = do
376382
blockchainTimeTrDoc <- documentTracer (blockchainTimeTr ::
377383
Logging.Trace IO (TraceBlockchainTimeEvent RelativeTime))
378384

385+
386+
consensusSanityCheckTr <- mkCardanoTracer
387+
trBase trForward mbTrEKG
388+
["Consensus", "SanityCheck"]
389+
configureTracers configReflection trConfig [consensusSanityCheckTr]
390+
consensusSanityCheckTrDoc <- documentTracer (consensusSanityCheckTr ::
391+
Logging.Trace IO SanityCheckIssue)
392+
393+
consensusStartupErrorTr <- mkCardanoTracer
394+
trBase trForward mbTrEKG
395+
["Consensus", "Startup"]
396+
configureTracers configReflection trConfig [consensusStartupErrorTr]
397+
consensusStartupErrorTrDoc <- documentTracer (consensusStartupErrorTr ::
398+
Logging.Trace IO ConsensusStartupException)
399+
400+
consensusGddTr <- mkCardanoTracer
401+
trBase trForward mbTrEKG
402+
["Consensus", "GDD"]
403+
configureTracers configReflection trConfig [consensusGddTr]
404+
consensusGddTrDoc <- documentTracer (consensusGddTr ::
405+
Logging.Trace IO (TraceGDDEvent peer blk))
406+
407+
consensusGsmTr <- mkCardanoTracer
408+
trBase trForward mbTrEKG
409+
["Consensus", "GSM"]
410+
configureTracers configReflection trConfig [consensusGsmTr]
411+
consensusGsmTrDoc <- documentTracer (consensusGsmTr ::
412+
Logging.Trace IO (TraceGsmEvent (Tip blk)))
413+
414+
consensusCsjTr <- mkCardanoTracer
415+
trBase trForward mbTrEKG
416+
["Consensus", "CSJ"]
417+
configureTracers configReflection trConfig [consensusCsjTr]
418+
consensusCsjTrDoc <- documentTracer (consensusCsjTr ::
419+
Logging.Trace IO (Jumping.TraceEvent peer))
420+
421+
379422
-- Node to client
380423

381424
keepAliveClientTr <- mkCardanoTracer
@@ -720,6 +763,11 @@ docTracersFirstPhase condConfigFileName = do
720763
<> forgeTrDoc
721764
<> forgeThreadStatsTrDoc
722765
<> blockchainTimeTrDoc
766+
<> consensusSanityCheckTrDoc
767+
<> consensusStartupErrorTrDoc
768+
<> consensusGddTrDoc
769+
<> consensusGsmTrDoc
770+
<> consensusCsjTrDoc
723771
-- NodeToClient
724772
<> keepAliveClientTrDoc
725773
<> chainSyncTrDoc

cardano-node/src/Cardano/Node/Tracing/Tracers.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,6 @@ mkConsensusTracers configReflection trBase trForward mbTrEKG _trDataPoint trConf
246246
["Consensus", "SanityCheck"]
247247
configureTracers configReflection trConfig [consensusSanityCheckTr]
248248

249-
!gddTr <- mkCardanoTracer
250-
trBase trForward mbTrEKG
251-
["Consensus", "GDD"]
252-
configureTracers configReflection trConfig [gddTr]
253-
254249
!blockFetchDecisionTr <- mkCardanoTracer
255250
trBase trForward mbTrEKG
256251
["BlockFetch", "Decision"]
@@ -330,6 +325,11 @@ mkConsensusTracers configReflection trBase trForward mbTrEKG _trDataPoint trConf
330325
["Consensus", "Startup"]
331326
configureTracers configReflection trConfig [consensusStartupErrorTr]
332327

328+
!consensusGddTr <- mkCardanoTracer
329+
trBase trForward mbTrEKG
330+
["Consensus", "GDD"]
331+
configureTracers configReflection trConfig [consensusGddTr]
332+
333333
!consensusGsmTr <- mkCardanoTracer
334334
trBase trForward mbTrEKG
335335
["Consensus", "GSM"]
@@ -361,7 +361,7 @@ mkConsensusTracers configReflection trBase trForward mbTrEKG _trDataPoint trConf
361361
, Consensus.forgeStateInfoTracer = Tracer $
362362
traceWith (traceAsKESInfo (Proxy @blk) forgeKESInfoTr)
363363
, Consensus.gddTracer = Tracer $
364-
traceWith gddTr
364+
traceWith consensusGddTr
365365
, Consensus.txInboundTracer = Tracer $
366366
traceWith txInboundTr
367367
, Consensus.txOutboundTracer = Tracer $

0 commit comments

Comments
 (0)