diff --git a/cabal.project b/cabal.project index 3bc1c83c3fa..191d2fd6e16 100644 --- a/cabal.project +++ b/cabal.project @@ -101,15 +101,12 @@ constraints: source-repository-package type: git location: https://github.com/IntersectMBO/ouroboros-consensus - tag: a2e3c598b96efa1e2add0bc7b893a7a007ace606 - --sha256: sha256-uMImzqUvdDCyuso/fN0BEJuhj1BuT8U1Gafbhz4CBRU= + tag: ed637941fc1a252ecdf2a1b1600ef95d17b52101 + --sha256: sha256-hvK7R9f28LV9daPn7PFBJZexh2cbsZGDYEGNdvew4nw= subdir: ouroboros-consensus ouroboros-consensus-cardano - ouroboros-consensus-protocol ouroboros-consensus-diffusion - sop-extras - strict-sop-core -- Points to ouroboros-network/nfrisby/leios-202511-demo source-repository-package diff --git a/cardano-node/cardano-node.cabal b/cardano-node/cardano-node.cabal index da31ad77524..1624a529e08 100644 --- a/cardano-node/cardano-node.cabal +++ b/cardano-node/cardano-node.cabal @@ -226,7 +226,6 @@ library , transformers-except , typed-protocols >= 0.3 , typed-protocols-stateful >= 0.3 - , vector , yaml executable cardano-node diff --git a/cardano-node/src/Cardano/Node/Tracing/Tracers/NodeToNode.hs b/cardano-node/src/Cardano/Node/Tracing/Tracers/NodeToNode.hs index da4acd4d472..ccddf7ad479 100644 --- a/cardano-node/src/Cardano/Node/Tracing/Tracers/NodeToNode.hs +++ b/cardano-node/src/Cardano/Node/Tracing/Tracers/NodeToNode.hs @@ -23,23 +23,22 @@ import Ouroboros.Network.Block (Point, Serialised (..), blockHash) import Ouroboros.Network.DeltaQ (GSV (..), PeerGSV (..)) import Ouroboros.Network.KeepAlive (TraceKeepAliveClient (..)) import Ouroboros.Network.Protocol.BlockFetch.Type (BlockFetch (..), Message (..)) -import qualified Ouroboros.Network.Protocol.TxSubmission2.Type as STX import qualified Ouroboros.Network.Protocol.KeepAlive.Type as KA import qualified Ouroboros.Network.Protocol.PeerSharing.Type as PS +import qualified Ouroboros.Network.Protocol.TxSubmission2.Type as STX import Ouroboros.Network.SizeInBytes (SizeInBytes (..)) import Control.Monad.Class.MonadTime.SI (Time (..)) -import Data.Aeson (ToJSON (..), Value (Array, Number, String), (.=)) +import Data.Aeson (ToJSON (..), Value (String), (.=)) import Data.Proxy (Proxy (..)) -import Data.Time (DiffTime) import Data.Text (pack) +import Data.Time (DiffTime) import Network.TypedProtocol.Codec (AnyMessage (AnyMessageAndAgency)) -import qualified Data.Bits as Bits -import qualified Data.Vector as V -import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, leiosEbBytesSize, leiosTxBytesSize, prettyBitmap, prettyEbHash) import qualified LeiosDemoOnlyTestFetch as LF import qualified LeiosDemoOnlyTestNotify as LN +import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, + messageLeiosFetchToObject, prettyEbHash) -------------------------------------------------------------------------------- -- BlockFetch Tracer @@ -508,49 +507,8 @@ instance LogFormatting (AnyMessage (LN.LeiosNotify LeiosPoint ())) where instance LogFormatting (AnyMessage (LF.LeiosFetch LeiosPoint LeiosEb LeiosTx)) where forHuman = showT - forMachine _dtal (AnyMessageAndAgency _stok msg) = case msg of - - LF.MsgLeiosBlockRequest (MkLeiosPoint ebSlot ebHash) -> - mconcat [ "kind" .= String "MsgLeiosBlockRequest" - , "ebSlot" .= ebSlot - , "ebHash" .= ebHash - ] - - LF.MsgLeiosBlock eb -> - mconcat [ "kind" .= String "MsgLeiosBlock" - , "eb" .= String "" - , "ebBytesSize" .= Number (fromIntegral $ leiosEbBytesSize eb) - ] - - LF.MsgLeiosBlockTxsRequest (MkLeiosPoint ebSlot ebHash) bitmaps -> - mconcat [ "kind" .= String "MsgLeiosBlockTxsRequest" - , "ebSlot" .= ebSlot - , "ebHash" .= ebHash - , "numTxs" .= Number (fromIntegral $ sum $ map (Bits.popCount . snd) bitmaps) - , "bitmaps" .= Array (V.fromList $ map (String . pack . prettyBitmap) bitmaps) - ] - - LF.MsgLeiosBlockTxs txs -> - mconcat [ "kind" .= String "MsgLeiosBlockTxs" - , "numTxs" .= Number (fromIntegral (V.length txs)) - , "txsBytesSize" .= Number (fromIntegral $ V.sum $ V.map leiosTxBytesSize txs) - , "txs" .= String "" - ] - - -- LF.MsgLeiosVotesRequest - -- LF.MsgLeiosVoteDelivery - - -- LF.MsgLeiosBlockRangeRequest - -- LF.MsgLeiosNextBlockAndTxsInRange - -- LF.MsgLeiosLastBlockAndTxsInRange - - LF.MsgDone -> - mconcat [ "kind" .= String "MsgDone" - ] - - where --- agency :: Aeson.Object --- agency = "agency" .= show stok + forMachine _dtal (AnyMessageAndAgency _stok msg) = + messageLeiosFetchToObject msg instance MetaTrace (AnyMessage (LN.LeiosNotify LeiosPoint ())) where namespaceFor (AnyMessageAndAgency _stok msg) = case msg of diff --git a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs index 87055bddf1d..35b4dda95e3 100644 --- a/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs +++ b/cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs @@ -27,20 +27,20 @@ module Cardano.Tracing.OrphanInstances.Network , FetchDecisionToJSON (..) ) where +import Cardano.Network.PeerSelection.Bootstrap (UseBootstrapPeers (..)) +import Cardano.Network.PeerSelection.PeerTrustable (PeerTrustable (..)) +import Cardano.Network.Types (LedgerStateJudgement (..)) import Cardano.Node.Queries (ConvertTxId) import Cardano.Tracing.OrphanInstances.Common import Cardano.Tracing.Render +import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.PeerSelectionState as Cardano +import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.Types as Cardano +import qualified Ouroboros.Cardano.Network.PublicRootPeers as Cardano.PublicRootPeers import Ouroboros.Consensus.Block (ConvertRawHash (..), Header, getHeader) import Ouroboros.Consensus.Ledger.Query (BlockQuery, Query) import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, GenTx, GenTxId, HasTxs (..), TxId, txId) import Ouroboros.Consensus.Node.Run (RunNode, estimateBlockSize) -import Cardano.Network.PeerSelection.Bootstrap (UseBootstrapPeers(..)) -import Cardano.Network.PeerSelection.PeerTrustable (PeerTrustable(..)) -import Cardano.Network.Types (LedgerStateJudgement(..)) -import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.PeerSelectionState as Cardano -import qualified Ouroboros.Cardano.Network.PeerSelection.Governor.Types as Cardano -import qualified Ouroboros.Cardano.Network.PublicRootPeers as Cardano.PublicRootPeers import qualified Ouroboros.Network.AnchoredFragment as AF import qualified Ouroboros.Network.AnchoredSeq as AS import Ouroboros.Network.Block @@ -51,15 +51,14 @@ import Ouroboros.Network.BlockFetch.Decision (FetchDecision, FetchDecl import qualified Ouroboros.Network.BlockFetch.Decision.Trace as BlockFetch import Ouroboros.Network.ConnectionHandler (ConnectionHandlerTrace (..)) import Ouroboros.Network.ConnectionId (ConnectionId (..)) -import Ouroboros.Network.ConnectionManager.Core as ConnMgr (Trace (..)) import Ouroboros.Network.ConnectionManager.ConnMap (ConnMap (..), LocalAddr (..)) +import Ouroboros.Network.ConnectionManager.Core as ConnMgr (Trace (..)) import Ouroboros.Network.ConnectionManager.State (ConnStateId (..)) import Ouroboros.Network.ConnectionManager.Types (AbstractState (..), - ConnectionManagerCounters (..), - OperationResult (..)) + ConnectionManagerCounters (..), OperationResult (..)) import qualified Ouroboros.Network.ConnectionManager.Types as ConnMgr -import qualified Ouroboros.Network.Diffusion.Common as Diffusion import Ouroboros.Network.DeltaQ (GSV (..), PeerGSV (..)) +import qualified Ouroboros.Network.Diffusion.Common as Diffusion import Ouroboros.Network.Driver.Limits (ProtocolLimitFailure (..)) import qualified Ouroboros.Network.Driver.Stateful as Stateful import Ouroboros.Network.ExitPolicy (RepromoteDelay (..)) @@ -73,10 +72,10 @@ import qualified Ouroboros.Network.NodeToClient as NtC import Ouroboros.Network.NodeToNode (ErrorPolicyTrace (..), NodeToNodeVersion (..), NodeToNodeVersionData (..), RemoteAddress, TraceSendRecv (..), WithAddr (..)) import qualified Ouroboros.Network.NodeToNode as NtN -import Ouroboros.Network.PeerSelection.Governor (AssociationMode (..), DebugPeerSelection (..), - DebugPeerSelectionState (..), PeerSelectionCounters, PeerSelectionState (..), - PeerSelectionTargets (..), PeerSelectionView (..), TracePeerSelection (..), - peerSelectionStateToCounters) +import Ouroboros.Network.PeerSelection.Governor (AssociationMode (..), + DebugPeerSelection (..), DebugPeerSelectionState (..), PeerSelectionCounters, + PeerSelectionState (..), PeerSelectionTargets (..), PeerSelectionView (..), + TracePeerSelection (..), peerSelectionStateToCounters) import Ouroboros.Network.PeerSelection.LedgerPeers import Ouroboros.Network.PeerSelection.PeerSharing (PeerSharing (..)) import Ouroboros.Network.PeerSelection.PeerStateActions (PeerSelectionActionsTrace (..)) @@ -89,7 +88,7 @@ import Ouroboros.Network.PeerSelection.RootPeersDNS.PublicRootPeers import Ouroboros.Network.PeerSelection.State.KnownPeers (KnownPeerInfo (..)) import qualified Ouroboros.Network.PeerSelection.State.KnownPeers as KnownPeers import Ouroboros.Network.PeerSelection.State.LocalRootPeers (HotValency (..), - LocalRootPeers, WarmValency (..), LocalRootConfig (..)) + LocalRootConfig (..), LocalRootPeers, WarmValency (..)) import qualified Ouroboros.Network.PeerSelection.State.LocalRootPeers as LocalRootPeers import Ouroboros.Network.PeerSelection.Types (PeerStatus (..)) import Ouroboros.Network.Protocol.BlockFetch.Type (BlockFetch, Message (..)) @@ -140,14 +139,11 @@ import Network.Socket (SockAddr (..)) import Network.TypedProtocol.Codec (AnyMessage (AnyMessageAndAgency)) import qualified Network.TypedProtocol.Stateful.Codec as Stateful -{- HLINT ignore "Use record patterns" -} - -import qualified Data.Bits as Bits -import qualified Data.Vector as V -import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, leiosEbBytesSize, leiosTxBytesSize, prettyBitmap, prettyEbHash) -import LeiosDemoTypes (TraceLeiosKernel, TraceLeiosPeer, traceLeiosKernelToObject, traceLeiosPeerToObject) import qualified LeiosDemoOnlyTestFetch as LF import qualified LeiosDemoOnlyTestNotify as LN +import LeiosDemoTypes (EbHash (..), LeiosEb, LeiosPoint (..), LeiosTx, TraceLeiosKernel, + TraceLeiosPeer, messageLeiosFetchToObject, prettyEbHash, + traceLeiosKernelToObject, traceLeiosPeerToObject) -- -- * instances of @HasPrivacyAnnotation@ and @HasSeverityAnnotation@ @@ -2924,49 +2920,8 @@ instance ToObject peer trTransformer = trStructured instance ToObject (AnyMessage (LF.LeiosFetch LeiosPoint LeiosEb LeiosTx)) where - toObject _verb (AnyMessageAndAgency _stok msg) = case msg of - - LF.MsgLeiosBlockRequest (MkLeiosPoint ebSlot ebHash) -> - mconcat [ "kind" .= String "MsgLeiosBlockRequest" - , "ebSlot" .= ebSlot - , "ebHash" .= ebHash - ] - - LF.MsgLeiosBlock eb -> - mconcat [ "kind" .= String "MsgLeiosBlock" - , "eb" .= String "" - , "ebBytesSize" .= Number (fromIntegral $ leiosEbBytesSize eb) - ] - - LF.MsgLeiosBlockTxsRequest (MkLeiosPoint ebSlot ebHash) bitmaps -> - mconcat [ "kind" .= String "MsgLeiosBlockTxsRequest" - , "ebSlot" .= ebSlot - , "ebHash" .= ebHash - , "numTxs" .= Number (fromIntegral $ sum $ map (Bits.popCount . snd) bitmaps) - , "bitmaps" .= Array (V.fromList $ map (String . pack . prettyBitmap) bitmaps) - ] - - LF.MsgLeiosBlockTxs txs -> - mconcat [ "kind" .= String "MsgLeiosBlockTxs" - , "numTxs" .= Number (fromIntegral (V.length txs)) - , "txsBytesSize" .= Number (fromIntegral $ V.sum $ V.map leiosTxBytesSize txs) - , "txs" .= String "" - ] - - -- LF.MsgLeiosVotesRequest - -- LF.MsgLeiosVoteDelivery - - -- LF.MsgLeiosBlockRangeRequest - -- LF.MsgLeiosNextBlockAndTxsInRange - -- LF.MsgLeiosLastBlockAndTxsInRange - - LF.MsgDone -> - mconcat [ "kind" .= String "MsgDone" - ] - - where --- agency :: Aeson.Object --- agency = "agency" .= show stok + toObject _verb (AnyMessageAndAgency _stok msg) = + messageLeiosFetchToObject msg instance Transformable Text IO TraceLeiosKernel where trTransformer = trStructured