Skip to content

Commit b6a9eb6

Browse files
committed
Upstream trace conversion into ouroboros-consensus
1 parent 71c79d8 commit b6a9eb6

File tree

4 files changed

+28
-118
lines changed

4 files changed

+28
-118
lines changed

cabal.project

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ constraints:
101101
source-repository-package
102102
type: git
103103
location: https://github.com/IntersectMBO/ouroboros-consensus
104-
tag: e3ffce853e85d6e5e9ff6c7c078816fea689a5b1
105-
--sha256: sha256-tFUNTbyhnaaNv8AFSCSs+pPhQydGgOuhfJMGv3pvE1M=
104+
tag: ed637941fc1a252ecdf2a1b1600ef95d17b52101
105+
--sha256: sha256-hvK7R9f28LV9daPn7PFBJZexh2cbsZGDYEGNdvew4nw=
106106
subdir:
107107
ouroboros-consensus
108108
ouroboros-consensus-cardano

cardano-node/cardano-node.cabal

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,6 @@ library
226226
, transformers-except
227227
, typed-protocols >= 0.3
228228
, typed-protocols-stateful >= 0.3
229-
, vector
230229
, yaml
231230

232231
executable cardano-node

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

Lines changed: 7 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,22 @@ import Ouroboros.Network.Block (Point, Serialised (..), blockHash)
2323
import Ouroboros.Network.DeltaQ (GSV (..), PeerGSV (..))
2424
import Ouroboros.Network.KeepAlive (TraceKeepAliveClient (..))
2525
import Ouroboros.Network.Protocol.BlockFetch.Type (BlockFetch (..), Message (..))
26-
import qualified Ouroboros.Network.Protocol.TxSubmission2.Type as STX
2726
import qualified Ouroboros.Network.Protocol.KeepAlive.Type as KA
2827
import qualified Ouroboros.Network.Protocol.PeerSharing.Type as PS
28+
import qualified Ouroboros.Network.Protocol.TxSubmission2.Type as STX
2929
import Ouroboros.Network.SizeInBytes (SizeInBytes (..))
3030

3131
import Control.Monad.Class.MonadTime.SI (Time (..))
32-
import Data.Aeson (ToJSON (..), Value (Array, Number, String), (.=))
32+
import Data.Aeson (ToJSON (..), Value (String), (.=))
3333
import Data.Proxy (Proxy (..))
34-
import Data.Time (DiffTime)
3534
import Data.Text (pack)
35+
import Data.Time (DiffTime)
3636
import Network.TypedProtocol.Codec (AnyMessage (AnyMessageAndAgency))
3737

38-
import qualified Data.Bits as Bits
39-
import qualified Data.Vector as V
40-
import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, leiosEbBytesSize, leiosTxBytesSize, prettyBitmap, prettyEbHash, hashLeiosEb)
4138
import qualified LeiosDemoOnlyTestFetch as LF
4239
import qualified LeiosDemoOnlyTestNotify as LN
40+
import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx,
41+
messageLeiosFetchToObject, prettyEbHash)
4342

4443
--------------------------------------------------------------------------------
4544
-- BlockFetch Tracer
@@ -508,50 +507,8 @@ instance LogFormatting (AnyMessage (LN.LeiosNotify LeiosPoint ())) where
508507
instance LogFormatting (AnyMessage (LF.LeiosFetch LeiosPoint LeiosEb LeiosTx)) where
509508
forHuman = showT
510509

511-
-- FIXME: Duplicated (orphan!) instance with Cardano.Tracing.OrphanInstances.Network
512-
forMachine _dtal (AnyMessageAndAgency _stok msg) = case msg of
513-
514-
LF.MsgLeiosBlockRequest (MkLeiosPoint ebSlot ebHash) ->
515-
mconcat [ "kind" .= String "MsgLeiosBlockRequest"
516-
, "ebSlot" .= ebSlot
517-
, "ebHash" .= ebHash
518-
]
519-
520-
LF.MsgLeiosBlock eb ->
521-
mconcat [ "kind" .= String "MsgLeiosBlock"
522-
, "eb" .= hashLeiosEb eb
523-
, "ebBytesSize" .= Number (fromIntegral $ leiosEbBytesSize eb)
524-
]
525-
526-
LF.MsgLeiosBlockTxsRequest (MkLeiosPoint ebSlot ebHash) bitmaps ->
527-
mconcat [ "kind" .= String "MsgLeiosBlockTxsRequest"
528-
, "ebSlot" .= ebSlot
529-
, "ebHash" .= ebHash
530-
, "numTxs" .= Number (fromIntegral $ sum $ map (Bits.popCount . snd) bitmaps)
531-
, "bitmaps" .= Array (V.fromList $ map (String . pack . prettyBitmap) bitmaps)
532-
]
533-
534-
LF.MsgLeiosBlockTxs txs ->
535-
mconcat [ "kind" .= String "MsgLeiosBlockTxs"
536-
, "numTxs" .= Number (fromIntegral (V.length txs))
537-
, "txsBytesSize" .= Number (fromIntegral $ V.sum $ V.map leiosTxBytesSize txs)
538-
, "txs" .= String "<elided>"
539-
]
540-
541-
-- LF.MsgLeiosVotesRequest
542-
-- LF.MsgLeiosVoteDelivery
543-
544-
-- LF.MsgLeiosBlockRangeRequest
545-
-- LF.MsgLeiosNextBlockAndTxsInRange
546-
-- LF.MsgLeiosLastBlockAndTxsInRange
547-
548-
LF.MsgDone ->
549-
mconcat [ "kind" .= String "MsgDone"
550-
]
551-
552-
where
553-
-- agency :: Aeson.Object
554-
-- agency = "agency" .= show stok
510+
forMachine _dtal (AnyMessageAndAgency _stok msg) =
511+
messageLeiosFetchToObject msg
555512

556513
instance MetaTrace (AnyMessage (LN.LeiosNotify LeiosPoint ())) where
557514
namespaceFor (AnyMessageAndAgency _stok msg) = case msg of

cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs

Lines changed: 19 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,20 @@ module Cardano.Tracing.OrphanInstances.Network
2727
, FetchDecisionToJSON (..)
2828
) where
2929

30+
import Cardano.Network.PeerSelection.Bootstrap (UseBootstrapPeers (..))
31+
import Cardano.Network.PeerSelection.PeerTrustable (PeerTrustable (..))
32+
import Cardano.Network.Types (LedgerStateJudgement (..))
3033
import Cardano.Node.Queries (ConvertTxId)
3134
import Cardano.Tracing.OrphanInstances.Common
3235
import Cardano.Tracing.Render
36+
import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.PeerSelectionState as Cardano
37+
import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.Types as Cardano
38+
import qualified Ouroboros.Cardano.Network.PublicRootPeers as Cardano.PublicRootPeers
3339
import Ouroboros.Consensus.Block (ConvertRawHash (..), Header, getHeader)
3440
import Ouroboros.Consensus.Ledger.Query (BlockQuery, Query)
3541
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTx, GenTxId,
3642
HasTxs (..), TxId, txId)
3743
import Ouroboros.Consensus.Node.Run (RunNode, estimateBlockSize)
38-
import Cardano.Network.PeerSelection.Bootstrap (UseBootstrapPeers(..))
39-
import Cardano.Network.PeerSelection.PeerTrustable (PeerTrustable(..))
40-
import Cardano.Network.Types (LedgerStateJudgement(..))
41-
import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.PeerSelectionState as Cardano
42-
import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.Types as Cardano
43-
import qualified Ouroboros.Cardano.Network.PublicRootPeers as Cardano.PublicRootPeers
4444
import qualified Ouroboros.Network.AnchoredFragment as AF
4545
import qualified Ouroboros.Network.AnchoredSeq as AS
4646
import Ouroboros.Network.Block
@@ -51,15 +51,14 @@ import Ouroboros.Network.BlockFetch.Decision (FetchDecision, FetchDecl
5151
import qualified Ouroboros.Network.BlockFetch.Decision.Trace as BlockFetch
5252
import Ouroboros.Network.ConnectionHandler (ConnectionHandlerTrace (..))
5353
import Ouroboros.Network.ConnectionId (ConnectionId (..))
54-
import Ouroboros.Network.ConnectionManager.Core as ConnMgr (Trace (..))
5554
import Ouroboros.Network.ConnectionManager.ConnMap (ConnMap (..), LocalAddr (..))
55+
import Ouroboros.Network.ConnectionManager.Core as ConnMgr (Trace (..))
5656
import Ouroboros.Network.ConnectionManager.State (ConnStateId (..))
5757
import Ouroboros.Network.ConnectionManager.Types (AbstractState (..),
58-
ConnectionManagerCounters (..),
59-
OperationResult (..))
58+
ConnectionManagerCounters (..), OperationResult (..))
6059
import qualified Ouroboros.Network.ConnectionManager.Types as ConnMgr
61-
import qualified Ouroboros.Network.Diffusion.Common as Diffusion
6260
import Ouroboros.Network.DeltaQ (GSV (..), PeerGSV (..))
61+
import qualified Ouroboros.Network.Diffusion.Common as Diffusion
6362
import Ouroboros.Network.Driver.Limits (ProtocolLimitFailure (..))
6463
import qualified Ouroboros.Network.Driver.Stateful as Stateful
6564
import Ouroboros.Network.ExitPolicy (RepromoteDelay (..))
@@ -73,10 +72,10 @@ import qualified Ouroboros.Network.NodeToClient as NtC
7372
import Ouroboros.Network.NodeToNode (ErrorPolicyTrace (..), NodeToNodeVersion (..),
7473
NodeToNodeVersionData (..), RemoteAddress, TraceSendRecv (..), WithAddr (..))
7574
import qualified Ouroboros.Network.NodeToNode as NtN
76-
import Ouroboros.Network.PeerSelection.Governor (AssociationMode (..), DebugPeerSelection (..),
77-
DebugPeerSelectionState (..), PeerSelectionCounters, PeerSelectionState (..),
78-
PeerSelectionTargets (..), PeerSelectionView (..), TracePeerSelection (..),
79-
peerSelectionStateToCounters)
75+
import Ouroboros.Network.PeerSelection.Governor (AssociationMode (..),
76+
DebugPeerSelection (..), DebugPeerSelectionState (..), PeerSelectionCounters,
77+
PeerSelectionState (..), PeerSelectionTargets (..), PeerSelectionView (..),
78+
TracePeerSelection (..), peerSelectionStateToCounters)
8079
import Ouroboros.Network.PeerSelection.LedgerPeers
8180
import Ouroboros.Network.PeerSelection.PeerSharing (PeerSharing (..))
8281
import Ouroboros.Network.PeerSelection.PeerStateActions (PeerSelectionActionsTrace (..))
@@ -89,7 +88,7 @@ import Ouroboros.Network.PeerSelection.RootPeersDNS.PublicRootPeers
8988
import Ouroboros.Network.PeerSelection.State.KnownPeers (KnownPeerInfo (..))
9089
import qualified Ouroboros.Network.PeerSelection.State.KnownPeers as KnownPeers
9190
import Ouroboros.Network.PeerSelection.State.LocalRootPeers (HotValency (..),
92-
LocalRootPeers, WarmValency (..), LocalRootConfig (..))
91+
LocalRootConfig (..), LocalRootPeers, WarmValency (..))
9392
import qualified Ouroboros.Network.PeerSelection.State.LocalRootPeers as LocalRootPeers
9493
import Ouroboros.Network.PeerSelection.Types (PeerStatus (..))
9594
import Ouroboros.Network.Protocol.BlockFetch.Type (BlockFetch, Message (..))
@@ -140,14 +139,11 @@ import Network.Socket (SockAddr (..))
140139
import Network.TypedProtocol.Codec (AnyMessage (AnyMessageAndAgency))
141140
import qualified Network.TypedProtocol.Stateful.Codec as Stateful
142141

143-
{- HLINT ignore "Use record patterns" -}
144-
145-
import qualified Data.Bits as Bits
146-
import qualified Data.Vector as V
147-
import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, leiosEbBytesSize, leiosTxBytesSize, prettyBitmap, prettyEbHash, hashLeiosEb)
148-
import LeiosDemoTypes (TraceLeiosKernel, TraceLeiosPeer, traceLeiosKernelToObject, traceLeiosPeerToObject)
149142
import qualified LeiosDemoOnlyTestFetch as LF
150143
import qualified LeiosDemoOnlyTestNotify as LN
144+
import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, TraceLeiosKernel,
145+
TraceLeiosPeer, messageLeiosFetchToObject, prettyEbHash,
146+
traceLeiosKernelToObject, traceLeiosPeerToObject)
151147

152148
--
153149
-- * instances of @HasPrivacyAnnotation@ and @HasSeverityAnnotation@
@@ -2924,50 +2920,8 @@ instance ToObject peer
29242920
trTransformer = trStructured
29252921

29262922
instance ToObject (AnyMessage (LF.LeiosFetch LeiosPoint LeiosEb LeiosTx)) where
2927-
-- FIXME: Duplicated (orphan!) instance with Cardano.Node.Tracing.Tracers.NodeToNode
2928-
toObject _verb (AnyMessageAndAgency _stok msg) = case msg of
2929-
2930-
LF.MsgLeiosBlockRequest (MkLeiosPoint ebSlot ebHash) ->
2931-
mconcat [ "kind" .= String "MsgLeiosBlockRequest"
2932-
, "ebSlot" .= ebSlot
2933-
, "ebHash" .= ebHash
2934-
]
2935-
2936-
LF.MsgLeiosBlock eb ->
2937-
mconcat [ "kind" .= String "MsgLeiosBlock"
2938-
, "eb" .= hashLeiosEb eb
2939-
, "ebBytesSize" .= Number (fromIntegral $ leiosEbBytesSize eb)
2940-
]
2941-
2942-
LF.MsgLeiosBlockTxsRequest (MkLeiosPoint ebSlot ebHash) bitmaps ->
2943-
mconcat [ "kind" .= String "MsgLeiosBlockTxsRequest"
2944-
, "ebSlot" .= ebSlot
2945-
, "ebHash" .= ebHash
2946-
, "numTxs" .= Number (fromIntegral $ sum $ map (Bits.popCount . snd) bitmaps)
2947-
, "bitmaps" .= Array (V.fromList $ map (String . pack . prettyBitmap) bitmaps)
2948-
]
2949-
2950-
LF.MsgLeiosBlockTxs txs ->
2951-
mconcat [ "kind" .= String "MsgLeiosBlockTxs"
2952-
, "numTxs" .= Number (fromIntegral (V.length txs))
2953-
, "txsBytesSize" .= Number (fromIntegral $ V.sum $ V.map leiosTxBytesSize txs)
2954-
, "txs" .= String "<elided>"
2955-
]
2956-
2957-
-- LF.MsgLeiosVotesRequest
2958-
-- LF.MsgLeiosVoteDelivery
2959-
2960-
-- LF.MsgLeiosBlockRangeRequest
2961-
-- LF.MsgLeiosNextBlockAndTxsInRange
2962-
-- LF.MsgLeiosLastBlockAndTxsInRange
2963-
2964-
LF.MsgDone ->
2965-
mconcat [ "kind" .= String "MsgDone"
2966-
]
2967-
2968-
where
2969-
-- agency :: Aeson.Object
2970-
-- agency = "agency" .= show stok
2923+
toObject _verb (AnyMessageAndAgency _stok msg) =
2924+
messageLeiosFetchToObject msg
29712925

29722926
instance Transformable Text IO TraceLeiosKernel where
29732927
trTransformer = trStructured

0 commit comments

Comments
 (0)