Home / Input Output / ouroboros-network
Feb 25, 12-1 PM (2)
Feb 25, 1-2 PM (0)
Feb 25, 2-3 PM (1)
Feb 25, 3-4 PM (0)
Feb 25, 4-5 PM (1)
Feb 25, 5-6 PM (0)
Feb 25, 6-7 PM (0)
Feb 25, 7-8 PM (0)
Feb 25, 8-9 PM (0)
Feb 25, 9-10 PM (0)
Feb 25, 10-11 PM (0)
Feb 25, 11-12 AM (0)
Feb 26, 12-1 AM (0)
Feb 26, 1-2 AM (0)
Feb 26, 2-3 AM (0)
Feb 26, 3-4 AM (0)
Feb 26, 4-5 AM (0)
Feb 26, 5-6 AM (1)
Feb 26, 6-7 AM (0)
Feb 26, 7-8 AM (0)
Feb 26, 8-9 AM (0)
Feb 26, 9-10 AM (0)
Feb 26, 10-11 AM (0)
Feb 26, 11-12 PM (1)
Feb 26, 12-1 PM (0)
Feb 26, 1-2 PM (0)
Feb 26, 2-3 PM (0)
Feb 26, 3-4 PM (0)
Feb 26, 4-5 PM (0)
Feb 26, 5-6 PM (0)
Feb 26, 6-7 PM (0)
Feb 26, 7-8 PM (0)
Feb 26, 8-9 PM (0)
Feb 26, 9-10 PM (0)
Feb 26, 10-11 PM (0)
Feb 26, 11-12 AM (1)
Feb 27, 12-1 AM (0)
Feb 27, 1-2 AM (0)
Feb 27, 2-3 AM (0)
Feb 27, 3-4 AM (0)
Feb 27, 4-5 AM (0)
Feb 27, 5-6 AM (0)
Feb 27, 6-7 AM (0)
Feb 27, 7-8 AM (0)
Feb 27, 8-9 AM (0)
Feb 27, 9-10 AM (0)
Feb 27, 10-11 AM (0)
Feb 27, 11-12 PM (0)
Feb 27, 12-1 PM (0)
Feb 27, 1-2 PM (0)
Feb 27, 2-3 PM (1)
Feb 27, 3-4 PM (0)
Feb 27, 4-5 PM (0)
Feb 27, 5-6 PM (0)
Feb 27, 6-7 PM (11)
Feb 27, 7-8 PM (0)
Feb 27, 8-9 PM (0)
Feb 27, 9-10 PM (0)
Feb 27, 10-11 PM (0)
Feb 27, 11-12 AM (0)
Feb 28, 12-1 AM (0)
Feb 28, 1-2 AM (0)
Feb 28, 2-3 AM (0)
Feb 28, 3-4 AM (0)
Feb 28, 4-5 AM (0)
Feb 28, 5-6 AM (0)
Feb 28, 6-7 AM (0)
Feb 28, 7-8 AM (0)
Feb 28, 8-9 AM (8)
Feb 28, 9-10 AM (8)
Feb 28, 10-11 AM (1)
Feb 28, 11-12 PM (0)
Feb 28, 12-1 PM (0)
Feb 28, 1-2 PM (0)
Feb 28, 2-3 PM (0)
Feb 28, 3-4 PM (1)
Feb 28, 4-5 PM (0)
Feb 28, 5-6 PM (2)
Feb 28, 6-7 PM (0)
Feb 28, 7-8 PM (15)
Feb 28, 8-9 PM (0)
Feb 28, 9-10 PM (0)
Feb 28, 10-11 PM (0)
Feb 28, 11-12 AM (0)
Mar 01, 12-1 AM (0)
Mar 01, 1-2 AM (0)
Mar 01, 2-3 AM (0)
Mar 01, 3-4 AM (0)
Mar 01, 4-5 AM (0)
Mar 01, 5-6 AM (0)
Mar 01, 6-7 AM (0)
Mar 01, 7-8 AM (0)
Mar 01, 8-9 AM (0)
Mar 01, 9-10 AM (0)
Mar 01, 10-11 AM (0)
Mar 01, 11-12 PM (0)
Mar 01, 12-1 PM (0)
Mar 01, 1-2 PM (0)
Mar 01, 2-3 PM (0)
Mar 01, 3-4 PM (0)
Mar 01, 4-5 PM (0)
Mar 01, 5-6 PM (0)
Mar 01, 6-7 PM (0)
Mar 01, 7-8 PM (0)
Mar 01, 8-9 PM (0)
Mar 01, 9-10 PM (0)
Mar 01, 10-11 PM (0)
Mar 01, 11-12 AM (0)
Mar 02, 12-1 AM (0)
Mar 02, 1-2 AM (0)
Mar 02, 2-3 AM (0)
Mar 02, 3-4 AM (0)
Mar 02, 4-5 AM (0)
Mar 02, 5-6 AM (2)
Mar 02, 6-7 AM (3)
Mar 02, 7-8 AM (0)
Mar 02, 8-9 AM (0)
Mar 02, 9-10 AM (0)
Mar 02, 10-11 AM (0)
Mar 02, 11-12 PM (3)
Mar 02, 12-1 PM (24)
Mar 02, 1-2 PM (8)
Mar 02, 2-3 PM (6)
Mar 02, 3-4 PM (0)
Mar 02, 4-5 PM (1)
Mar 02, 5-6 PM (0)
Mar 02, 6-7 PM (0)
Mar 02, 7-8 PM (0)
Mar 02, 8-9 PM (0)
Mar 02, 9-10 PM (0)
Mar 02, 10-11 PM (0)
Mar 02, 11-12 AM (0)
Mar 03, 12-1 AM (0)
Mar 03, 1-2 AM (0)
Mar 03, 2-3 AM (0)
Mar 03, 3-4 AM (0)
Mar 03, 4-5 AM (0)
Mar 03, 5-6 AM (0)
Mar 03, 6-7 AM (1)
Mar 03, 7-8 AM (0)
Mar 03, 8-9 AM (2)
Mar 03, 9-10 AM (0)
Mar 03, 10-11 AM (0)
Mar 03, 11-12 PM (0)
Mar 03, 12-1 PM (14)
Mar 03, 1-2 PM (0)
Mar 03, 2-3 PM (0)
Mar 03, 3-4 PM (0)
Mar 03, 4-5 PM (0)
Mar 03, 5-6 PM (0)
Mar 03, 6-7 PM (0)
Mar 03, 7-8 PM (0)
Mar 03, 8-9 PM (0)
Mar 03, 9-10 PM (0)
Mar 03, 10-11 PM (0)
Mar 03, 11-12 AM (0)
Mar 04, 12-1 AM (0)
Mar 04, 1-2 AM (0)
Mar 04, 2-3 AM (0)
Mar 04, 3-4 AM (0)
Mar 04, 4-5 AM (0)
Mar 04, 5-6 AM (0)
Mar 04, 6-7 AM (0)
Mar 04, 7-8 AM (2)
Mar 04, 8-9 AM (1)
Mar 04, 9-10 AM (15)
Mar 04, 10-11 AM (3)
Mar 04, 11-12 PM (0)
Mar 04, 12-1 PM (0)
139 commits this week Feb 25, 2026 - Mar 04, 2026
peer-selection: Introduce SupportsPeerSelectionState class
The class collects the types of the extra peers and extra tracing.
It also provides a method to retrieve a view with counters of those
extra peers as well as exposes the PublicExtraPeersAPI type. The latter
motivates the removal of extraPeersAPI from PeerSelectionActions
record.

Since the class ties together several types, it also allows to reduce
the number of type variables throughout the codebase.
tracing: fix DebugPeerSelection counters
The expression
> peerSelectionStateToCounters Cardano.PublicRootPeers.toSet
>   Cardano.cardanoPeerSelectionStatetoCounters st

doesn't typecheck because of universally quantified type variables
in the instance head. The next commit introduces a type class and
a follow-up commit will add a constraint to show that we can
provide all the extra peer information in this LogFormatting instance.

Alternatively, the instance could be monomorphic, but that would
lead to duplicated code for the base peer selection counters instance,
and the extra/custom one in another module, and the choice would be
up to the user which one to import. In comparison, the proposed
approach is modular, where the instance with the counters extension
only provides those additional counters to the base instance, and the
user imports both into the program.