Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion cardano-node/cardano-node.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,6 @@ library
, transformers-except
, typed-protocols >= 0.3
, typed-protocols-stateful >= 0.3
, vector
, yaml

executable cardano-node
Expand Down
56 changes: 7 additions & 49 deletions cardano-node/src/Cardano/Node/Tracing/Tracers/NodeToNode.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 "<elided>"
, "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 "<elided>"
]

-- 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
Expand Down
83 changes: 19 additions & 64 deletions cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 (..))
Expand All @@ -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 (..))
Expand All @@ -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 (..))
Expand Down Expand Up @@ -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@
Expand Down Expand Up @@ -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 "<elided>"
, "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 "<elided>"
]

-- 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
Expand Down
Loading