Skip to content

Commit

Permalink
p2p-governor: Add new env tracers for public roots and gossips
Browse files Browse the repository at this point in the history
We will use these in additional governor test properties to be added in
subsquent patches.
  • Loading branch information
dcoutts authored and coot committed Sep 28, 2021
1 parent 09da908 commit 9023ac8
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
Expand Up @@ -381,7 +381,13 @@ envEventCredits (TraceEnvSetTargets PeerSelectionTargets {
envEventCredits (TraceEnvPeersDemote Noop _) = 10
envEventCredits (TraceEnvPeersDemote ToWarm _) = 30
envEventCredits (TraceEnvPeersDemote ToCold _) = 30
envEventCredits (TraceEnvPeersStatus _) = 0

envEventCredits TraceEnvPeersStatus{} = 0
-- These events are visible in the environment but are the result of actions
-- initiated by the governor, hence the get no credit.
envEventCredits TraceEnvRootsResult{} = 0
envEventCredits TraceEnvGossipRequest{} = 0
envEventCredits TraceEnvGossipResult{} = 0



Expand Down
Expand Up @@ -178,6 +178,10 @@ data TraceMockEnv = TraceEnvAddPeers PeerGraph
| TraceEnvGossipTTL PeerAddr
| TraceEnvSetTargets PeerSelectionTargets
| TraceEnvPeersDemote AsyncDemotion PeerAddr

| TraceEnvRootsResult [PeerAddr]
| TraceEnvGossipRequest PeerAddr (Maybe ([PeerAddr], GossipTime))
| TraceEnvGossipResult PeerAddr [PeerAddr]
| TraceEnvPeersStatus (Map PeerAddr PeerStatus)
deriving Show

Expand Down Expand Up @@ -268,18 +272,23 @@ mockPeerSelectionActions' tracer
_ <- async $ do
threadDelay ttl
traceWith tracer TraceEnvPublicRootTTL
traceWith tracer (TraceEnvRootsResult (Set.toList publicRootPeers))
return (publicRootPeers, ttl)

requestPeerGossip addr = do
let Just (gossipScript, _) = Map.lookup addr scripts
mgossip <- stepScript gossipScript
traceWith tracer (TraceEnvGossipRequest addr mgossip)
_ <- async $ do
threadDelay policyGossipRetryTime
traceWith tracer (TraceEnvGossipTTL addr)
let Just (gossipScript, _) = Map.lookup addr scripts
mgossip <- stepScript gossipScript
case mgossip of
Nothing -> fail "no peers"
Nothing -> do
traceWith tracer (TraceEnvGossipResult addr [])
fail "no peers"
Just (peeraddrs, time) -> do
threadDelay (interpretGossipTime time)
traceWith tracer (TraceEnvGossipResult addr peeraddrs)
return peeraddrs

establishPeerConnection :: PeerAddr -> m (PeerConn m)
Expand Down

0 comments on commit 9023ac8

Please sign in to comment.