Merged
Conversation
Contributor
crocodile-dentist
left a comment
There was a problem hiding this comment.
See also my comments re network-mux in #5235 and whether to make it a separate library instead.
34b6cf0 to
fa8c099
Compare
4 tasks
3cd44fb to
2d19849
Compare
This was referenced Jan 30, 2026
Closed
Closed
Closed
4564ef3 to
a917998
Compare
15a2043 to
75c72b3
Compare
75c72b3 to
7395aa4
Compare
coot
approved these changes
Feb 10, 2026
78992cf to
4bc9879
Compare
Includes network-mux instances in Network.Mux.Logging
bd8770c to
333bfcf
Compare
… main "Add behind firewall conf to prevent node from initiating connection to behind-firewall remote peer" (09f84dd)
"Removed ChurnCounter" (e239197)
"Enforce max reconnection attempt" (f9ae41a)
…amework-tracing
- Directory Renames:
- ouroboros-network/cardano-logging -> ouroboros-network/tracing
- ouroboros-network/framework/cardano-logging -> ouroboros-network/framework/tracing
- Modules & Files Refactoring:
- ouroboros-network:framework-tracing: Remove the extra Framework hierarchy.
- Network.Mux.Logging -> Network.Mux.Tracing
- Ouroboros.Network.Logging.Framework.* -> Ouroboros.Network.Tracing.*
- ouroboros-network:tracing Move everything under PeerSelection.
- Ouroboros.Network.Logging -> Ouroboros.Network.Tracing.PeerSelection
- Ouroboros.Network.Logging.PeerSelection.* -> Ouroboros.Network.Tracing.PeerSelection.*
333bfcf to
8e5557f
Compare
Ran ./scripts/ci/run-stylish-haskell.sh and ./scripts/run-cabal-gild.sh
Fix for "Pattern match(es) are non-exhaustive"
Fix for "Pattern match(es) are non-exhaustive"
8e5557f to
61f97b0
Compare
coot
approved these changes
Feb 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Move Tracing Instances to Ouroboros-Network
Summary
This PR moves the
LogFormattingandMetaTraceinstances from thecardano-nodeexecutable (specificallysrc/Cardano/Node/Tracing/Tracers/**) to theouroboros-networkpackage.Architectural Changes
To handle dependencies correctly and keep components reusable, two new sub-libraries have been created in
ouroboros-network.cabal:framework-tracing:frameworksub-library.network-mux(from thenetwork-muxpackage) are located here. This satisfies the requirement fromnetwork-muxmaintainers to keep that package low-level and free of high-level tracing dependencies while providing the necessary instances for theframework.tracing:ouroboros-networklibrary (which in turn usesframework).Motivation
dmq-node, to reuse these tracing instances without duplicating code. PR #32 is a work-in-progress updatingdmq-nodeto depend on these new sub-libraries.cardano-diffusion.Hierarchy Note
Most tracing modules ended up under the
Ouroboros.Network.Tracing.PeerSelectionhierarchy. This is a side effect of the migration strategy where one module was created per data type, reflecting the structure of the data types being traced.Modifications & Cut Dependencies
The instances were modified to compile within
ouroboros-network, necessitating the removal of dependencies oncardano-diffusionandouroboros-consensus.Specific items requiring attention or review:
Network.Mux.Tracing:ExnMempoolTimeout(fromouroboros-consensus) inimpliesMempoolTimeoutHard. It now uses string matching (isPrefixOf) to identify these exceptions, avoiding a heavy dependency on the consensus layer.TraceNewMuxandTraceStartingto ensure the instances are complete and compile against the currentnetwork-muxdefinitions.PeerSelection.Governor.DebugPeerSelection:cardano-diffusion.LogFormattinginstance forDebugPeerSelectionto use generic types (extraState,extraFlags, etc.) instead of specificCardano.*types.countersfield inforMachine) that relied oncardanoPeerSelectionStatetoCounters.PeerSelection.Governor.PeerSelectionCounters:LogFormattinginstance toPeerSelectionCounters extraCounters.knownBootstrapPeers,activeBootstrapPeers) as they relied onCardano.view*functions fromcardano-diffusion.PeerSelection.Governor.TracePeerSelection:TraceLedgerStateJudgementChangedandTraceUseBootstrapPeersChangedas they wereExtraTracetypes imported fromcardano-diffusion.TraceTargetsChanged: A field present incardano-nodemaster might be missing here (seeTODOin source).extraTraceto theTracePeerSelectioninstance head to support the generic type.ExtraTraceconstructor inLogFormattingandMetaTraceinstances (namespaceFor,severityFor, etc.) to resolve non-exhaustive pattern match errors. This mirrors howMux.TraceNewMuxandMux.TraceStartingare handled, ensuring the code compiles while acknowledging that the specific trace types are now generic.Origin
Instances extracted from
cardano-node"master" (2026-02-11, 85869e9dd21d9dac7c4381418346e97259c3303b)Checklist
Quality
Maintenance
ouroboros-networkproject.