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
14 changes: 9 additions & 5 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -101,19 +101,23 @@ constraints:
source-repository-package
type: git
location: https://github.com/IntersectMBO/ouroboros-consensus
tag: a571776defab2aff8e1e0a9e62646494a1a8af08
--sha256: sha256-eucib6kUGFbiIM09nNHC+XR+gUSjiAtpKxcuKO/Kl1Q=
tag: 86cc78704115007dc6c75185ae83decaa8e89348
--sha256: sha256-K/q+sxmDrCaNEjAicoDYZwLc8gSw+Kw4mO0qbM8MujU=
subdir:
ouroboros-consensus
ouroboros-consensus-cardano
ouroboros-consensus-protocol
ouroboros-consensus-diffusion
ouroboros-consensus-observe
sop-extras
strict-sop-core

-- Points to ouroboros-network/nfrisby/leios-202511-demo
-- Points to ouroboros-network/leios-prototype
source-repository-package
type: git
location: https://github.com/IntersectMBO/ouroboros-network.git
tag: 479f0d0d82413162c8444b912394dd74c052831f
--sha256: sha256-Up+Zh3+nHuwlHmpXgH0nNIvQ/yHm/Hxb9ZYQHibrDLc=
tag: fb5f16f48af84950db0c2ecefd8cbda532c77d1a
--sha256: sha256-0LWD1zwOzhdcPJtBuw7pRDVcBd9CKJOFjm9o4BvsIMM=
subdir:
cardano-ping
monoidal-synchronisation
Expand Down
1 change: 1 addition & 0 deletions cardano-node/cardano-node.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ library
, ouroboros-consensus-cardano ^>= 0.25
, ouroboros-consensus-diffusion ^>= 0.23
, ouroboros-consensus-protocol
, ouroboros-consensus-observe
, ouroboros-network-api ^>= 0.14.1
, ouroboros-network ^>= 0.21.3
, ouroboros-network-framework ^>= 0.18
Expand Down
11 changes: 8 additions & 3 deletions cardano-node/src/Cardano/Node/TraceConstraints.hs
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,17 @@ import Cardano.Node.Queries (ConvertTxId, GetKESInfo (..), HasKESInfo
import Cardano.Protocol.Crypto (StandardCrypto)
import Cardano.Tracing.HasIssuer (HasIssuer)
import Ouroboros.Consensus.Block (BlockProtocol, CannotForge, ForgeStateUpdateError,
GetHeader, HasHeader, Header)
GetHeader, HasHeader, Header, HeaderHash)
import Ouroboros.Consensus.HeaderValidation (OtherHeaderEnvelopeError)
import Ouroboros.Consensus.Ledger.Abstract (LedgerError)
import Ouroboros.Consensus.Ledger.Inspect (LedgerEvent, LedgerUpdate, LedgerWarning)
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, HasTxId, HasTxs (..))
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, HasTxId, HasTxs (..),
TxMeasure)
import Ouroboros.Consensus.Node.NetworkProtocolVersion
(HasNetworkProtocolVersion (BlockNodeToClientVersion, BlockNodeToNodeVersion))
import Ouroboros.Consensus.Node.Run (RunNode, SerialiseNodeToNodeConstraints)
import Ouroboros.Consensus.Node.Tracers (ForgedBlock)
import Ouroboros.Consensus.Observe.ConsensusJson (ConsensusJson)
import Ouroboros.Consensus.Protocol.Abstract (SelectView, ValidationErr)
import Ouroboros.Consensus.Shelley.Ledger.Mempool (GenTx, TxId)
import Ouroboros.Network.Block (Serialised)
Expand Down Expand Up @@ -58,7 +61,6 @@ type TraceConstraints blk =

, ToJSON (BlockNodeToClientVersion blk)
, ToJSON (BlockNodeToNodeVersion blk)

, LogFormatting (ApplyTxErr blk)
, LogFormatting (GenTx blk)
, LogFormatting (Header blk)
Expand All @@ -72,4 +74,7 @@ type TraceConstraints blk =
, LogFormatting (ForgeStateUpdateError blk)
, LogFormatting (Set (Credential 'Staking))
, LogFormatting (NonEmpty.NonEmpty (KeyHash 'Staking))

, ConsensusJson (HeaderHash blk)
, ConsensusJson (TxMeasure blk)
)
53 changes: 40 additions & 13 deletions cardano-node/src/Cardano/Node/Tracing/Tracers/Consensus.hs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import Ouroboros.Consensus.Genesis.Governor (DensityBounds (..), GDDDe
import Ouroboros.Consensus.Ledger.Extended (ExtValidationError)
import Ouroboros.Consensus.Ledger.Inspect (LedgerEvent (..), LedgerUpdate, LedgerWarning)
import Ouroboros.Consensus.Ledger.SupportsMempool (ApplyTxErr, ByteSize32 (..), GenTxId,
HasTxId, LedgerSupportsMempool, txForgetValidated, txId)
HasTxId, LedgerSupportsMempool, txForgetValidated, txId, TxMeasureMetrics (txMeasureMetricTxSizeBytes, txMeasureMetricExUnitsMemory, txMeasureMetricExUnitsSteps, txMeasureMetricRefScriptsSizeBytes), TxLimits (TxMeasure))
import Ouroboros.Consensus.Ledger.SupportsProtocol
import Ouroboros.Consensus.Mempool (MempoolSize (..), TraceEventMempool (..))
import Ouroboros.Consensus.MiniProtocol.BlockFetch.Server
Expand Down Expand Up @@ -82,6 +82,8 @@ import Data.Word (Word32, Word64)
import Network.TypedProtocol.Core

import LeiosDemoTypes (TraceLeiosKernel, TraceLeiosPeer, traceLeiosKernelToObject, traceLeiosPeerToObject)
import Ouroboros.Consensus.Observe.ConsensusJson (ConsensusJson(toConsensusJson))
import Ouroboros.Consensus.Mempool.TxSeq (TxSeqMeasure(mCount, mSize))

instance (LogFormatting adr, Show adr) => LogFormatting (ConnectionId adr) where
forMachine _dtal (ConnectionId local' remote) =
Expand Down Expand Up @@ -1447,7 +1449,10 @@ instance ( tx ~ GenTx blk
, Show (TxId (GenTx blk))
, LogFormatting (CannotForge blk)
, LogFormatting (ExtValidationError blk)
, LogFormatting (ForgeStateUpdateError blk))
, LogFormatting (ForgeStateUpdateError blk)
, ConsensusJson (HeaderHash blk)
, ConsensusJson (TxMeasure blk)
)
=> LogFormatting (TraceForgeEvent blk) where
forMachine _dtal (TraceStartLeadershipCheck slotNo) =
mconcat
Expand Down Expand Up @@ -1530,16 +1535,11 @@ instance ( tx ~ GenTx blk
, "mempoolHash" .= String (renderChainHash @blk (renderHeaderHash (Proxy @blk)) mpHash)
, "mempoolSlot" .= toJSON (unSlotNo mpSlot)
]
forMachine _dtal (TraceForgedBlock slotNo _ blk _) =
forMachine _dtal (TraceForgedBlock slotNo fb) =
mconcat
[ "kind" .= String "TraceForgedBlock"
, "slot" .= toJSON (unSlotNo slotNo)
, "block" .= String (renderHeaderHash (Proxy @blk) $ blockHash blk)
, "blockNo" .= toJSON (unBlockNo $ blockNo blk)
, "blockPrev" .= String (renderChainHash
@blk
(renderHeaderHash (Proxy @blk))
$ blockPrevHash blk)
, "forgedBlock" .= toConsensusJson fb
]
forMachine _dtal (TraceDidntAdoptBlock slotNo _) =
mconcat
Expand Down Expand Up @@ -1642,7 +1642,7 @@ instance ( tx ~ GenTx blk
<> renderChainHash @blk (renderHeaderHash (Proxy @blk)) mpHash
<> " ticked to slot "
<> showT (unSlotNo mpSlot)
forHuman (TraceForgedBlock slotNo _ _ _) =
forHuman (TraceForgedBlock slotNo _) =
"Forged block in slot " <> showT (unSlotNo slotNo)
forHuman (TraceDidntAdoptBlock slotNo _) =
"Didn't adopt forged block in slot " <> showT (unSlotNo slotNo)
Expand Down Expand Up @@ -1700,9 +1700,36 @@ instance ( tx ~ GenTx blk
[CounterM "Forge.node-is-leader" Nothing]
asMetrics TraceForgeTickedLedgerState {} = []
asMetrics TraceForgingMempoolSnapshot {} = []
asMetrics (TraceForgedBlock slot _ _ _) =
[IntM "forgedSlotLast" (fromIntegral $ unSlotNo slot),
CounterM "Forge.forged" Nothing]
asMetrics (TraceForgedBlock slot fb) =
[ IntM "forgedSlotLast" (fromIntegral $ unSlotNo slot)
, CounterM "Forge.forged" Nothing
-- NOTE(bladyjoker): New!!!
, CounterM "Forge.ranking-block.total-count" Nothing

, CounterM "Forge.ranking-block.total-tx-count" (Just . fromInteger . toInteger . mCount . fbNewBlockSize $ fb)
, CounterM "Forge.endorser-block.total-tx-count" (Just . fromInteger . toInteger . mCount . fbNewEndorserBlockSize $ fb)
, CounterM "Forge.rest-in-mempool.total-tx-count" (Just . fromInteger . toInteger . mCount . fbMempoolRestSize $ fb)

, CounterM "Forge.ranking-block.total-tx-bytes" (Just . fromInteger . toInteger . unByteSize32 . txMeasureMetricTxSizeBytes . mSize . fbNewBlockSize $ fb)
, CounterM "Forge.endorser-block.total-tx-bytes" (Just . fromInteger . toInteger . unByteSize32 . txMeasureMetricTxSizeBytes . mSize . fbNewEndorserBlockSize $ fb)
, CounterM "Forge.rest-in-mempool.total-tx-bytes" (Just . fromInteger . toInteger . unByteSize32 . txMeasureMetricTxSizeBytes . mSize . fbMempoolRestSize $ fb)

, CounterM "Forge.ranking-block.total-tx-xu-memory" (Just . fromInteger . toInteger . txMeasureMetricExUnitsMemory . mSize . fbNewBlockSize $ fb)
, CounterM "Forge.endorser-block.total-tx-xu-memory" (Just . fromInteger . toInteger . txMeasureMetricExUnitsMemory . mSize . fbNewEndorserBlockSize $ fb)
, CounterM "Forge.rest-in-mempool.total-tx-xu-memory" (Just . fromInteger . toInteger . txMeasureMetricExUnitsMemory . mSize . fbMempoolRestSize $ fb)

, CounterM "Forge.ranking-block.total-tx-xu-time" (Just . fromInteger . toInteger . txMeasureMetricExUnitsSteps . mSize . fbNewBlockSize $ fb)
, CounterM "Forge.endorser-block.total-tx-xu-time" (Just . fromInteger . toInteger . txMeasureMetricExUnitsSteps . mSize . fbNewEndorserBlockSize $ fb)
, CounterM "Forge.rest-in-mempool.total-tx-xu-time" (Just . fromInteger . toInteger . txMeasureMetricExUnitsSteps . mSize . fbMempoolRestSize $ fb)

, CounterM "Forge.ranking-block.total-tx-ref-script-size-bytes" (Just . fromInteger . toInteger . unByteSize32 . txMeasureMetricRefScriptsSizeBytes . mSize . fbNewBlockSize $ fb)
, CounterM "Forge.endorser-block.total-tx-ref-script-size-bytes" (Just . fromInteger . toInteger . unByteSize32 . txMeasureMetricRefScriptsSizeBytes . mSize . fbNewEndorserBlockSize $ fb)
, CounterM "Forge.rest-in-mempool.total-tx-ref-script-size-bytes" (Just . fromInteger . toInteger . unByteSize32 . txMeasureMetricRefScriptsSizeBytes . mSize . fbMempoolRestSize $ fb)
] ++ case fbMaybeNewEndorserBlock fb of
Nothing -> []
Just _ -> [
CounterM "Forge.endorser-block.total-count" Nothing
]
asMetrics (TraceDidntAdoptBlock _slot _) =
[CounterM "Forge.didnt-adopt" Nothing]
asMetrics (TraceForgedInvalidBlock _slot _ _) =
Expand Down
18 changes: 10 additions & 8 deletions cardano-node/src/Cardano/Tracing/OrphanInstances/Consensus.hs
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ import Cardano.Tracing.Render (renderChainHash, renderChunkNo, renderH
renderWithOrigin)
import Ouroboros.Consensus.Block (BlockProtocol, BlockSupportsProtocol, CannotForge,
ConvertRawHash (..), ForgeStateUpdateError, GenesisWindow (..), GetHeader (..),
Header, RealPoint, blockNo, blockPoint, blockPrevHash, getHeader, pointHash,
realPointHash, realPointSlot, withOriginToMaybe)
Header, RealPoint, blockPoint, getHeader, pointHash, realPointHash,
realPointSlot, withOriginToMaybe)
import Ouroboros.Consensus.Block.SupportsSanityCheck
import Ouroboros.Consensus.Genesis.Governor (DensityBounds (..), GDDDebugInfo (..),
TraceGDDEvent (..))
Expand All @@ -58,6 +58,7 @@ import Ouroboros.Consensus.Node.GSM
import Ouroboros.Consensus.Node.Run (RunNode, estimateBlockSize)
import Ouroboros.Consensus.Node.Tracers (TraceForgeEvent (..))
import qualified Ouroboros.Consensus.Node.Tracers as Consensus
import Ouroboros.Consensus.Observe.ConsensusJson (ConsensusJson (toConsensusJson))
import Ouroboros.Consensus.Protocol.Abstract
import qualified Ouroboros.Consensus.Protocol.BFT as BFT
import qualified Ouroboros.Consensus.Protocol.PBFT as PBFT
Expand Down Expand Up @@ -402,6 +403,7 @@ instance ( tx ~ GenTx blk
, ToObject (ValidationErr (BlockProtocol blk))
, ToObject (CannotForge blk)
, ToObject (ForgeStateUpdateError blk)
, ConsensusJson (Consensus.ForgedBlock blk)
, LedgerSupportsMempool blk)
=> Transformable Text IO (TraceForgeEvent blk) where
trTransformer = trStructuredText
Expand Down Expand Up @@ -476,7 +478,7 @@ instance ( tx ~ GenTx blk
<> renderChainHash (Text.decodeLatin1 . toRawHash (Proxy @blk)) mpHash
<> " ticked to slot "
<> showT (unSlotNo mpSlot)
TraceForgedBlock slotNo _ _ _ -> const $
TraceForgedBlock slotNo _forgedBlock -> const $
"Forged block in slot " <> showT (unSlotNo slotNo)
TraceDidntAdoptBlock slotNo _ -> const $
"Didn't adopt forged block in slot " <> showT (unSlotNo slotNo)
Expand Down Expand Up @@ -1616,7 +1618,9 @@ instance ( RunNode blk
, ToObject (OtherHeaderEnvelopeError blk)
, ToObject (ValidationErr (BlockProtocol blk))
, ToObject (CannotForge blk)
, ToObject (ForgeStateUpdateError blk))
, ToObject (ForgeStateUpdateError blk)
, ConsensusJson (Consensus.ForgedBlock blk)
)
=> ToObject (TraceForgeEvent blk) where
toObject _verb (TraceStartLeadershipCheck slotNo) =
mconcat
Expand Down Expand Up @@ -1699,13 +1703,11 @@ instance ( RunNode blk
, "mempoolHash" .= String (renderChainHash @blk (renderHeaderHash (Proxy @blk)) mpHash)
, "mempoolSlot" .= toJSON (unSlotNo mpSlot)
]
toObject _verb (TraceForgedBlock slotNo _ blk _) =
toObject _verb (TraceForgedBlock slotNo forgedBlock) =
mconcat
[ "kind" .= String "TraceForgedBlock"
, "slot" .= toJSON (unSlotNo slotNo)
, "block" .= String (renderHeaderHash (Proxy @blk) $ blockHash blk)
, "blockNo" .= toJSON (unBlockNo $ blockNo blk)
, "blockPrev" .= String (renderChainHash @blk (renderHeaderHash (Proxy @blk)) $ blockPrevHash blk)
, "forgedBlock" .= toConsensusJson forgedBlock
]
toObject _verb (TraceDidntAdoptBlock slotNo _) =
mconcat
Expand Down
Loading
Loading