{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Ouroboros.Network.Tracing.PeerSelection.Governor.TracePeerSelection (JSONField (..)) where
import Control.Exception (fromException)
import Data.Aeson (ToJSON, ToJSONKey, Value (String), toJSON, toJSONList, (.=))
import Data.Bifunctor (first)
import Data.Foldable (toList)
import Data.List (sort, sortOn)
import Data.Map.Strict (Map)
import Data.Map.Strict qualified as Map
import Data.Maybe (fromMaybe, isNothing)
import Data.Set (Set)
import Data.Set qualified as Set
import Data.Text (Text, pack)
import Cardano.Logging
import Ouroboros.Network.Diffusion.Types
import Ouroboros.Network.OrphanInstances (JSONField (..), demotionScoresToJSON)
import Ouroboros.Network.PeerSelection.Governor.Types
(DebugPeerSelectionState (..), DemotionTimeoutException,
SupportsPeerSelectionState (..), TracePeerSelection (..))
import Ouroboros.Network.PeerSelection.PublicRootPeers (PublicRootPeers)
import Ouroboros.Network.PeerSelection.State.KnownPeers qualified as KnownPeers
import Ouroboros.Network.Protocol.PeerSharing.Type
(PeerSharingAmount (PeerSharingAmount))
import Ouroboros.Network.Tracing.PeerSelection.Governor.Utils
(peerSelectionTargetsToObject)
instance ( Show extraDebugState
, Show extraFlags
, ToJSON extraFlags
, JSONField extraFlags
, ToJSON ntnAddr
, ToJSON (PublicRootPeers extraPeers ntnAddr)
, ToJSONKey ntnAddr
, SupportsPeerSelectionState extraPeers ntnAddr
, LogFormatting (ToExtraTrace extraPeers)
) => LogFormatting (TracePeerSelection extraDebugState extraFlags
extraPeers ntnAddr) where
forMachine :: DetailLevel
-> TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> Object
forMachine DetailLevel
_dtal (TraceLocalRootPeersChanged LocalRootPeers extraFlags ntnAddr
lrp LocalRootPeers extraFlags ntnAddr
lrp') =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"LocalRootPeersChanged"
, Key
"previous" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= LocalRootPeers extraFlags ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON LocalRootPeers extraFlags ntnAddr
lrp
, Key
"current" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= LocalRootPeers extraFlags ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON LocalRootPeers extraFlags ntnAddr
lrp'
]
forMachine DetailLevel
_dtal (TraceTargetsChanged PeerSelectionTargets
pst) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"TargetsChanged"
, Key
"current" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= PeerSelectionTargets -> Value
forall a. ToJSON a => a -> Value
toJSON PeerSelectionTargets
pst
]
forMachine DetailLevel
_dtal (TracePublicRootsRequest Int
tRootPeers Int
nRootPeers) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PublicRootsRequest"
, Key
"targetNumberOfRootPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tRootPeers
, Key
"numberOfRootPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
nRootPeers
]
forMachine DetailLevel
_dtal (TracePublicRootsResults PublicRootPeers extraPeers ntnAddr
res Int
group DiffTime
dt) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PublicRootsResults"
, Key
"result" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= PublicRootPeers extraPeers ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON PublicRootPeers extraPeers ntnAddr
res
, Key
"group" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
group
, Key
"diffTime" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
dt
]
forMachine DetailLevel
_dtal (TracePublicRootsFailure SomeException
err Int
group DiffTime
dt) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PublicRootsFailure"
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
, Key
"group" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
group
, Key
"diffTime" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
dt
]
forMachine DetailLevel
_dtal (TraceForgetColdPeers Int
targetKnown Int
actualKnown Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ForgetColdPeers"
, Key
"targetKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
targetKnown
, Key
"actualKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
actualKnown
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TraceBigLedgerPeersRequest Int
tRootPeers Int
nRootPeers) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"BigLedgerPeersRequest"
, Key
"targetNumberOfBigLedgerPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tRootPeers
, Key
"numberOfBigLedgerPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
nRootPeers
]
forMachine DetailLevel
_dtal (TraceBigLedgerPeersResults Set ntnAddr
res Int
group DiffTime
dt) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"BigLedgerPeersResults"
, Key
"result" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
res)
, Key
"group" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
group
, Key
"diffTime" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
dt
]
forMachine DetailLevel
_dtal (TraceBigLedgerPeersFailure SomeException
err Int
group DiffTime
dt) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"BigLedgerPeersFailure"
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
, Key
"group" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
group
, Key
"diffTime" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
dt
]
forMachine DetailLevel
_dtal (TraceForgetBigLedgerPeers Int
targetKnown Int
actualKnown Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ForgetColdBigLedgerPeers"
, Key
"targetKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
targetKnown
, Key
"actualKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
actualKnown
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePeerShareRequests Int
targetKnown Int
actualKnown (PeerSharingAmount Word8
numRequested) Set ntnAddr
aps Set ntnAddr
sps) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PeerShareRequests"
, Key
"targetKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
targetKnown
, Key
"actualKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
actualKnown
, Key
"numRequested" Key -> Word8 -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Word8
numRequested
, Key
"availablePeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
aps)
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sps)
]
forMachine DetailLevel
_dtal (TracePeerShareResults [(ntnAddr, Either SomeException (PeerSharingResult ntnAddr))]
res) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PeerShareResults"
, Key
"result" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [(ntnAddr, Either String (PeerSharingResult ntnAddr))] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (((ntnAddr, Either SomeException (PeerSharingResult ntnAddr))
-> (ntnAddr, Either String (PeerSharingResult ntnAddr)))
-> [(ntnAddr, Either SomeException (PeerSharingResult ntnAddr))]
-> [(ntnAddr, Either String (PeerSharingResult ntnAddr))]
forall a b. (a -> b) -> [a] -> [b]
map ((SomeException -> String)
-> Either SomeException (PeerSharingResult ntnAddr)
-> Either String (PeerSharingResult ntnAddr)
forall a b c. (a -> b) -> Either a c -> Either b c
forall (p :: * -> * -> *) a b c.
Bifunctor p =>
(a -> b) -> p a c -> p b c
first SomeException -> String
forall a. Show a => a -> String
show (Either SomeException (PeerSharingResult ntnAddr)
-> Either String (PeerSharingResult ntnAddr))
-> (ntnAddr, Either SomeException (PeerSharingResult ntnAddr))
-> (ntnAddr, Either String (PeerSharingResult ntnAddr))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>) [(ntnAddr, Either SomeException (PeerSharingResult ntnAddr))]
res)
]
forMachine DetailLevel
_dtal (TracePeerShareResultsFiltered [ntnAddr]
res) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PeerShareResultsFiltered"
, Key
"result" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList [ntnAddr]
res
]
forMachine DetailLevel
_dtal (TracePromoteColdPeers Int
targetKnown Int
actualKnown Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdPeers"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
targetKnown
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
actualKnown
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePromoteColdLocalPeers [(WarmValency, Int)]
tLocalEst Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdLocalPeers"
, Key
"targetLocalEstablished" Key -> [(WarmValency, Int)] -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [(WarmValency, Int)]
tLocalEst
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePromoteColdFailed Int
tEst Int
aEst ntnAddr
p DiffTime
d SomeException
err Bool
forgotten) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdFailed"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"delay" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime -> Value
forall a. ToJSON a => a -> Value
toJSON DiffTime
d
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
, Key
"forgotten" Key -> Bool -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Bool
forgotten
]
forMachine DetailLevel
_dtal (TracePromoteColdDone Int
tEst Int
aEst ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdDone"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TracePromoteColdBigLedgerPeers Int
targetKnown Int
actualKnown Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdBigLedgerPeers"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
targetKnown
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
actualKnown
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePromoteColdBigLedgerPeerFailed Int
tEst Int
aEst ntnAddr
p DiffTime
d SomeException
err Bool
forgotten) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdBigLedgerPeerFailed"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"delay" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime -> Value
forall a. ToJSON a => a -> Value
toJSON DiffTime
d
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
, Key
"forgotten" Key -> Bool -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Bool
forgotten
]
forMachine DetailLevel
_dtal (TracePromoteColdBigLedgerPeerDone Int
tEst Int
aEst ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteColdBigLedgerPeerDone"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TracePromoteWarmPeers Int
tActive Int
aActive Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmPeers"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePromoteWarmLocalPeers [(HotValency, Int)]
taa Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmLocalPeers"
, Key
"targetActualActive" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [(HotValency, Int)] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList [(HotValency, Int)]
taa
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePromoteWarmFailed Int
tActive Int
aActive ntnAddr
p SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmFailed"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TracePromoteWarmDone Int
tActive Int
aActive ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmDone"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TracePromoteWarmAborted Int
tActive Int
aActive ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmAborted"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TracePromoteWarmBigLedgerPeers Int
tActive Int
aActive Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmBigLedgerPeers"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TracePromoteWarmBigLedgerPeerFailed Int
tActive Int
aActive ntnAddr
p SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmBigLedgerPeerFailed"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TracePromoteWarmBigLedgerPeerDone Int
tActive Int
aActive ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmBigLedgerPeerDone"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TracePromoteWarmBigLedgerPeerAborted Int
tActive Int
aActive ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PromoteWarmBigLedgerPeerAborted"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TraceDemoteWarmPeers Int
tEst Int
aEst Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteWarmPeers"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TraceDemoteWarmFailed Int
tEst Int
aEst ntnAddr
p SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteWarmFailed"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TraceDemoteWarmDone Int
tEst Int
aEst ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteWarmDone"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TraceDemoteWarmBigLedgerPeers Int
tEst Int
aEst Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteWarmBigLedgerPeers"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TraceDemoteWarmBigLedgerPeerFailed Int
tEst Int
aEst ntnAddr
p SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteWarmBigLedgerPeerFailed"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TraceDemoteWarmBigLedgerPeerDone Int
tEst Int
aEst ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteWarmBigLedgerPeerDone"
, Key
"targetEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tEst
, Key
"actualEstablished" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aEst
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TraceDemoteHotPeers Int
tActive Int
aActive Set ntnAddr
sp Map ntnAddr (Maybe Int)
scores) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteHotPeers"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
, Key
"scores" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Map ntnAddr (Maybe Int) -> Value
forall peeraddr.
ToJSON peeraddr =>
Map peeraddr (Maybe Int) -> Value
demotionScoresToJSON Map ntnAddr (Maybe Int)
scores
]
forMachine DetailLevel
_dtal (TraceDemoteLocalHotPeers [(HotValency, Int)]
taa Set ntnAddr
sp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteLocalHotPeers"
, Key
"targetActualActive" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [(HotValency, Int)] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList [(HotValency, Int)]
taa
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
]
forMachine DetailLevel
_dtal (TraceDemoteHotFailed Int
tActive Int
aActive ntnAddr
p SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteHotFailed"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TraceDemoteHotDone Int
tActive Int
aActive ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteHotDone"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TraceDemoteHotBigLedgerPeers Int
tActive Int
aActive Set ntnAddr
sp Map ntnAddr (Maybe Int)
scores) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteHotBigLedgerPeers"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"selectedPeers" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ntnAddr] -> Value
forall a. ToJSON a => [a] -> Value
toJSONList (Set ntnAddr -> [ntnAddr]
forall a. Set a -> [a]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList Set ntnAddr
sp)
, Key
"scores" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Map ntnAddr (Maybe Int) -> Value
forall peeraddr.
ToJSON peeraddr =>
Map peeraddr (Maybe Int) -> Value
demotionScoresToJSON Map ntnAddr (Maybe Int)
scores
]
forMachine DetailLevel
_dtal (TraceDemoteHotBigLedgerPeerFailed Int
tActive Int
aActive ntnAddr
p SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteHotBigLedgerPeerFailed"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TraceDemoteHotBigLedgerPeerDone Int
tActive Int
aActive ntnAddr
p) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteHotBigLedgerPeerDone"
, Key
"targetActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
tActive
, Key
"actualActive" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
aActive
, Key
"peer" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ntnAddr -> Value
forall a. ToJSON a => a -> Value
toJSON ntnAddr
p
]
forMachine DetailLevel
_dtal (TraceDemoteAsynchronous Map ntnAddr (PeerStatus, Maybe RepromoteDelay)
msp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteAsynchronous"
, Key
"state" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Map ntnAddr (PeerStatus, Maybe RepromoteDelay) -> Value
forall a. ToJSON a => a -> Value
toJSON Map ntnAddr (PeerStatus, Maybe RepromoteDelay)
msp
]
forMachine DetailLevel
_dtal (TraceDemoteLocalAsynchronous Map ntnAddr (PeerStatus, Maybe RepromoteDelay)
msp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteLocalAsynchronous"
, Key
"state" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Map ntnAddr (PeerStatus, Maybe RepromoteDelay) -> Value
forall a. ToJSON a => a -> Value
toJSON Map ntnAddr (PeerStatus, Maybe RepromoteDelay)
msp
]
forMachine DetailLevel
_dtal (TraceDemoteBigLedgerPeersAsynchronous Map ntnAddr (PeerStatus, Maybe RepromoteDelay)
msp) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DemoteBigLedgerPeerAsynchronous"
, Key
"state" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Map ntnAddr (PeerStatus, Maybe RepromoteDelay) -> Value
forall a. ToJSON a => a -> Value
toJSON Map ntnAddr (PeerStatus, Maybe RepromoteDelay)
msp
]
forMachine DetailLevel
_dtal (TraceForgottenPeers Set ntnAddr
peers) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ForgottenPeers"
, Key
"peers" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Set ntnAddr
peers
]
forMachine DetailLevel
_dtal TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
TraceGovernorWakeup =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"GovernorWakeup"
]
forMachine DetailLevel
_dtal (TraceChurnWait DiffTime
dt) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ChurnWait"
, Key
"diffTime" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime -> Value
forall a. ToJSON a => a -> Value
toJSON DiffTime
dt
]
forMachine DetailLevel
_dtal (TracePickInboundPeers Int
targetNumberOfKnownPeers Int
numberOfKnownPeers Map ntnAddr PeerSharing
selected Set ntnAddr
available) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"PickInboundPeers"
, Key
"targetKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
targetNumberOfKnownPeers
, Key
"actualKnown" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
numberOfKnownPeers
, Key
"selected" Key -> Map ntnAddr PeerSharing -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Map ntnAddr PeerSharing
selected
, Key
"available" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Set ntnAddr
available
]
forMachine DetailLevel
_dtal TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
TraceOnlyBootstrapPeers =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"LedgerStateJudgementChanged" ]
forMachine DetailLevel
_dtal TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
TraceBootstrapPeersFlagChangedWhilstInSensitiveState =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"BootstrapPeersFlagChangedWhilstInSensitiveState"
]
forMachine DetailLevel
_dtal (TraceVerifyPeerSnapshot Bool
result) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"VerifyPeerSnapshot"
, Key
"result" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Bool -> Value
forall a. ToJSON a => a -> Value
toJSON Bool
result ]
forMachine DetailLevel
_dtal (TraceOutboundGovernorCriticalFailure SomeException
err) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"OutboundGovernorCriticalFailure"
, Key
"reason" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= SomeException -> String
forall a. Show a => a -> String
show SomeException
err
]
forMachine DetailLevel
_dtal (TraceChurnAction DiffTime
duration ChurnAction
action Int
counter) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ChurnAction"
, Key
"action" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ChurnAction -> String
forall a. Show a => a -> String
show ChurnAction
action
, Key
"counter" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
counter
, Key
"duration" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
duration
]
forMachine DetailLevel
_dtal (TraceChurnTimeout DiffTime
duration ChurnAction
action Int
counter) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ChurnTimeout"
, Key
"action" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= ChurnAction -> String
forall a. Show a => a -> String
show ChurnAction
action
, Key
"counter" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
counter
, Key
"duration" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
duration
]
forMachine DetailLevel
_dtal (TraceDebugState Time
mtime DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds) =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"DebugState"
, Key
"monotonicTime" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Time -> String
forall a. Show a => a -> String
show Time
mtime
, Key
"targets" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= PeerSelectionTargets -> Value
peerSelectionTargetsToObject (DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> PeerSelectionTargets
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> PeerSelectionTargets
dpssTargets DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds)
, Key
"localRootPeers" Key -> LocalRootPeers extraFlags ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> LocalRootPeers extraFlags ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> LocalRootPeers extraFlags peeraddr
dpssLocalRootPeers DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"publicRootPeers" Key -> PublicRootPeers extraPeers ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> PublicRootPeers extraPeers ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> PublicRootPeers extraPeers peeraddr
dpssPublicRootPeers DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"knownPeers" Key -> Map ntnAddr KnownPeerInfo -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= KnownPeers ntnAddr -> Map ntnAddr KnownPeerInfo
forall peeraddr. KnownPeers peeraddr -> Map peeraddr KnownPeerInfo
KnownPeers.allPeers (DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> KnownPeers ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> KnownPeers peeraddr
dpssKnownPeers DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds)
, Key
"establishedPeers" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssEstablishedPeers DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"activePeers" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssActivePeers DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"publicRootBackoffs" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Int
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Int
dpssPublicRootBackoffs DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"publicRootRetryTime" Key -> Time -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Time
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Time
dpssPublicRootRetryTime DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"bigLedgerPeerBackoffs" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Int
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Int
dpssBigLedgerPeerBackoffs DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"bigLedgerPeerRetryTime" Key -> Time -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Time
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Time
dpssBigLedgerPeerRetryTime DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressBigLedgerPeersReq" Key -> Bool -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Bool
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Bool
dpssInProgressBigLedgerPeersReq DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressPeerShareReqs" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Int
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Int
dpssInProgressPeerShareReqs DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressPromoteCold" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssInProgressPromoteCold DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressPromoteWarm" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssInProgressPromoteWarm DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressDemoteWarm" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssInProgressDemoteWarm DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressDemoteHot" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssInProgressDemoteHot DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"inProgressDemoteToCold" Key -> Set ntnAddr -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Set ntnAddr
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Set peeraddr
dpssInProgressDemoteToCold DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"upstreamyness" Key -> Map ntnAddr Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Map ntnAddr Int
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Map peeraddr Int
dpssUpstreamyness DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
, Key
"fetchynessBlocks" Key -> Map ntnAddr Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
-> Map ntnAddr Int
forall extraState extraFlags extraPeers peeraddr.
DebugPeerSelectionState extraState extraFlags extraPeers peeraddr
-> Map peeraddr Int
dpssFetchynessBlocks DebugPeerSelectionState
extraDebugState extraFlags extraPeers ntnAddr
ds
]
forMachine DetailLevel
dtal (ExtraTrace ToExtraTrace extraPeers
tr) = DetailLevel -> ToExtraTrace extraPeers -> Object
forall a. LogFormatting a => DetailLevel -> a -> Object
forMachine DetailLevel
dtal ToExtraTrace extraPeers
tr
forHuman :: TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> Text
forHuman (ExtraTrace ToExtraTrace extraPeers
tr) = String -> Text
pack (String -> Text)
-> (ToExtraTrace extraPeers -> String)
-> ToExtraTrace extraPeers
-> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ToExtraTrace extraPeers -> String
forall a. Show a => a -> String
show (ToExtraTrace extraPeers -> Text)
-> ToExtraTrace extraPeers -> Text
forall a b. (a -> b) -> a -> b
$ ToExtraTrace extraPeers
tr
forHuman TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
tr = String -> Text
pack (String -> Text)
-> (TracePeerSelection
extraDebugState extraFlags extraPeers ntnAddr
-> String)
-> TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> String
forall a. Show a => a -> String
show (TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> Text)
-> TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> Text
forall a b. (a -> b) -> a -> b
$ TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
tr
asMetrics :: TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> [Metric]
asMetrics (TraceChurnAction DiffTime
duration ChurnAction
action Int
_) =
[ Text -> Double -> Metric
DoubleM (Text
"peerSelection.churn" Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> String -> Text
pack (ChurnAction -> String
forall a. Show a => a -> String
show ChurnAction
action) Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
".duration")
(DiffTime -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac DiffTime
duration)
]
asMetrics (TraceDemoteHotPeers Int
_ Int
_ Set ntnAddr
demoted Map ntnAddr (Maybe Int)
scores) =
Text -> Set ntnAddr -> Map ntnAddr (Maybe Int) -> [Metric]
forall peeraddr.
Ord peeraddr =>
Text -> Set peeraddr -> Map peeraddr (Maybe Int) -> [Metric]
hotDemotionMetrics Text
"peerSelection.churn.hot." Set ntnAddr
demoted Map ntnAddr (Maybe Int)
scores
asMetrics (TraceDemoteHotBigLedgerPeers Int
_ Int
_ Set ntnAddr
demoted Map ntnAddr (Maybe Int)
scores) =
Text -> Set ntnAddr -> Map ntnAddr (Maybe Int) -> [Metric]
forall peeraddr.
Ord peeraddr =>
Text -> Set peeraddr -> Map peeraddr (Maybe Int) -> [Metric]
hotDemotionMetrics Text
"peerSelection.churn.bigLedger." Set ntnAddr
demoted Map ntnAddr (Maybe Int)
scores
asMetrics TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
_ = []
instance MetaTrace (ToExtraTrace extraPeers)
=> MetaTrace (TracePeerSelection extraDebugState extraFlags
extraPeers ntnAddr) where
namespaceFor :: TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
namespaceFor TraceLocalRootPeersChanged {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"LocalRootPeersChanged"]
namespaceFor TraceTargetsChanged {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TargetsChanged"]
namespaceFor TracePublicRootsRequest {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PublicRootsRequest"]
namespaceFor TracePublicRootsResults {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PublicRootsResults"]
namespaceFor TracePublicRootsFailure {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PublicRootsFailure"]
namespaceFor TraceForgetColdPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ForgetColdPeers"]
namespaceFor TraceBigLedgerPeersRequest {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BigLedgerPeersRequest"]
namespaceFor TraceBigLedgerPeersResults {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BigLedgerPeersResults"]
namespaceFor TraceBigLedgerPeersFailure {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BigLedgerPeersFailure"]
namespaceFor TraceForgetBigLedgerPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ForgetBigLedgerPeers"]
namespaceFor TracePeerShareRequests {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PeerShareRequests"]
namespaceFor TracePeerShareResults {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PeerShareResults"]
namespaceFor TracePeerShareResultsFiltered {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PeerShareResultsFiltered"]
namespaceFor TracePickInboundPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickInboundPeers"]
namespaceFor TracePromoteColdPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdPeers"]
namespaceFor TracePromoteColdLocalPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdLocalPeers"]
namespaceFor TracePromoteColdFailed {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdFailed"]
namespaceFor TracePromoteColdDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdDone"]
namespaceFor TracePromoteColdBigLedgerPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdBigLedgerPeers"]
namespaceFor TracePromoteColdBigLedgerPeerFailed {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdBigLedgerPeerFailed"]
namespaceFor TracePromoteColdBigLedgerPeerDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdBigLedgerPeerDone"]
namespaceFor TracePromoteWarmPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmPeers"]
namespaceFor TracePromoteWarmLocalPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmLocalPeers"]
namespaceFor TracePromoteWarmFailed {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmFailed"]
namespaceFor TracePromoteWarmDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmDone"]
namespaceFor TracePromoteWarmAborted {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmAborted"]
namespaceFor TracePromoteWarmBigLedgerPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeers"]
namespaceFor TracePromoteWarmBigLedgerPeerFailed {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeerFailed"]
namespaceFor TracePromoteWarmBigLedgerPeerDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeerDone"]
namespaceFor TracePromoteWarmBigLedgerPeerAborted {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeerAborted"]
namespaceFor TraceDemoteWarmPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmPeers"]
namespaceFor (TraceDemoteWarmFailed Int
_ Int
_ ntnAddr
_ SomeException
e) =
case SomeException -> Maybe DemotionTimeoutException
forall e. Exception e => SomeException -> Maybe e
fromException SomeException
e :: Maybe DemotionTimeoutException of
Just DemotionTimeoutException
_ -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmFailed", Text
"CoolingToColdTimeout"]
Maybe DemotionTimeoutException
Nothing -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmFailed"]
namespaceFor TraceDemoteWarmDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmDone"]
namespaceFor TraceDemoteWarmBigLedgerPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeers"]
namespaceFor (TraceDemoteWarmBigLedgerPeerFailed Int
_ Int
_ ntnAddr
_ SomeException
e) =
case SomeException -> Maybe DemotionTimeoutException
forall e. Exception e => SomeException -> Maybe e
fromException SomeException
e :: Maybe DemotionTimeoutException of
Just DemotionTimeoutException
_ -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]
Maybe DemotionTimeoutException
Nothing -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed"]
namespaceFor TraceDemoteWarmBigLedgerPeerDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeerDone"]
namespaceFor TraceDemoteHotPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotPeers"]
namespaceFor TraceDemoteLocalHotPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteLocalHotPeers"]
namespaceFor (TraceDemoteHotFailed Int
_ Int
_ ntnAddr
_ SomeException
e) =
case SomeException -> Maybe DemotionTimeoutException
forall e. Exception e => SomeException -> Maybe e
fromException SomeException
e :: Maybe DemotionTimeoutException of
Just DemotionTimeoutException
_ -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotFailed", Text
"CoolingToColdTimeout"]
Maybe DemotionTimeoutException
Nothing -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotFailed"]
namespaceFor TraceDemoteHotDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotDone"]
namespaceFor TraceDemoteHotBigLedgerPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeers"]
namespaceFor (TraceDemoteHotBigLedgerPeerFailed Int
_ Int
_ ntnAddr
_ SomeException
e) =
case SomeException -> Maybe DemotionTimeoutException
forall e. Exception e => SomeException -> Maybe e
fromException SomeException
e :: Maybe DemotionTimeoutException of
Just DemotionTimeoutException
_ -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]
Maybe DemotionTimeoutException
Nothing -> [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeerFailed"]
namespaceFor TraceDemoteHotBigLedgerPeerDone {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeerDone"]
namespaceFor TraceDemoteAsynchronous {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteAsynchronous"]
namespaceFor TraceDemoteLocalAsynchronous {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteLocalAsynchronous"]
namespaceFor TraceDemoteBigLedgerPeersAsynchronous {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteBigLedgerPeersAsynchronous"]
namespaceFor TraceForgottenPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TraceForgottenPeers"]
namespaceFor TraceGovernorWakeup {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"GovernorWakeup"]
namespaceFor TraceChurnWait {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ChurnWait"]
namespaceFor TraceOnlyBootstrapPeers {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"OnlyBootstrapPeers"]
namespaceFor TraceVerifyPeerSnapshot {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"VerifyPeerSnapshot"]
namespaceFor TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
TraceBootstrapPeersFlagChangedWhilstInSensitiveState =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BootstrapPeersFlagChangedWhilstInSensitiveState"]
namespaceFor TraceOutboundGovernorCriticalFailure {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"OutboundGovernorCriticalFailure"]
namespaceFor TraceChurnAction {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ChurnAction"]
namespaceFor TraceChurnTimeout {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ChurnTimeout"]
namespaceFor TraceDebugState {} =
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DebugState"]
namespaceFor (ExtraTrace ToExtraTrace extraPeers
et) =
Namespace (ToExtraTrace extraPeers)
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a b. Namespace a -> Namespace b
nsCast (Namespace (ToExtraTrace extraPeers)
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr))
-> Namespace (ToExtraTrace extraPeers)
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a b. (a -> b) -> a -> b
$ ToExtraTrace extraPeers -> Namespace (ToExtraTrace extraPeers)
forall a. MetaTrace a => a -> Namespace a
namespaceFor ToExtraTrace extraPeers
et
severityFor :: Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Maybe SeverityS
severityFor (Namespace [] [Text
"LocalRootPeersChanged"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Notice
severityFor (Namespace [] [Text
"TargetsChanged"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Notice
severityFor (Namespace [] [Text
"PublicRootsRequest"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PublicRootsResults"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PublicRootsFailure"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"ForgetColdPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"BigLedgerPeersRequest"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"BigLedgerPeersResults"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"BigLedgerPeersFailure"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"ForgetBigLedgerPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PeerShareRequests"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
severityFor (Namespace [] [Text
"PeerShareResults"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
severityFor (Namespace [] [Text
"PeerShareResultsFiltered"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PickInboundPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdLocalPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdBigLedgerPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdBigLedgerPeerFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteColdBigLedgerPeerDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmLocalPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmAborted"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmBigLedgerPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmBigLedgerPeerFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmBigLedgerPeerDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"PromoteWarmBigLedgerPeerAborted"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteWarmPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteWarmFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteWarmFailed", Text
"CoolingToColdTimeout"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"DemoteWarmDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteWarmBigLedgerPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"DemoteWarmBigLedgerPeerDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteHotPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteLocalHotPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteHotFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteHotFailed", Text
"CoolingToColdTimeout"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"DemoteHotDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteHotBigLedgerPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteHotBigLedgerPeerFailed"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteHotBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"DemoteHotBigLedgerPeerDone"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteAsynchronous"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"DemoteLocalAsynchronous"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Warning
severityFor (Namespace [] [Text
"DemoteBigLedgerPeersAsynchronous"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"GovernorWakeup"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"ChurnWait"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"LedgerStateJudgementChanged"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"OnlyBootstrapPeers"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"UseBootstrapPeersChanged"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Notice
severityFor (Namespace [] [Text
"VerifyPeerSnapshot"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"BootstrapPeersFlagChangedWhilstInSensitiveState"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Warning
severityFor (Namespace [] [Text
"OutboundGovernorCriticalFailure"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
severityFor (Namespace [] [Text
"ChurnAction"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor (Namespace [] [Text
"ChurnTimeout"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Notice
severityFor (Namespace [] [Text
"DebugState"]) Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
severityFor Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
tr = case Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
tr of
Just (ExtraTrace ToExtraTrace extraPeers
et) -> Namespace (ToExtraTrace extraPeers)
-> Maybe (ToExtraTrace extraPeers) -> Maybe SeverityS
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe SeverityS
severityFor (Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Namespace (ToExtraTrace extraPeers)
forall a b. Namespace a -> Namespace b
nsCast Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns :: Namespace (ToExtraTrace extraPeers)) (ToExtraTrace extraPeers -> Maybe (ToExtraTrace extraPeers)
forall a. a -> Maybe a
Just ToExtraTrace extraPeers
et)
Just TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr
_ -> Maybe SeverityS
forall a. Maybe a
Nothing
Maybe
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
Nothing -> Namespace (ToExtraTrace extraPeers)
-> Maybe (ToExtraTrace extraPeers) -> Maybe SeverityS
forall a. MetaTrace a => Namespace a -> Maybe a -> Maybe SeverityS
severityFor (Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Namespace (ToExtraTrace extraPeers)
forall a b. Namespace a -> Namespace b
nsCast Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns :: Namespace (ToExtraTrace extraPeers)) Maybe (ToExtraTrace extraPeers)
forall a. Maybe a
Nothing
documentFor :: Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Maybe Text
documentFor (Namespace [] [Text
"LocalRootPeersChanged"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"TargetsChanged"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"PublicRootsRequest"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"PublicRootsResults"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"PublicRootsFailure"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"PeerShareRequests"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just (Text -> Maybe Text) -> Text -> Maybe Text
forall a b. (a -> b) -> a -> b
$ [Text] -> Text
forall a. Monoid a => [a] -> a
mconcat
[ Text
"target known peers, actual known peers, peers available for gossip,"
, Text
" peers selected for gossip"
]
documentFor (Namespace [] [Text
"PeerShareResults"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"ForgetColdPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target known peers, actual known peers, selected peers"
documentFor (Namespace [] [Text
"PromoteColdPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target established, actual established, selected peers"
documentFor (Namespace [] [Text
"PromoteColdLocalPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target local established, actual local established, selected peers"
documentFor (Namespace [] [Text
"PromoteColdFailed"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just (Text -> Maybe Text) -> Text -> Maybe Text
forall a b. (a -> b) -> a -> b
$ [Text] -> Text
forall a. Monoid a => [a] -> a
mconcat
[ Text
"target established, actual established, peer, delay until next"
, Text
" promotion, reason"
]
documentFor (Namespace [] [Text
"PromoteColdDone"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, selected peers"
documentFor (Namespace [] [Text
"PromoteWarmPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, selected peers"
documentFor (Namespace [] [Text
"PromoteWarmLocalPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"local per-group (target active, actual active), selected peers"
documentFor (Namespace [] [Text
"PromoteWarmFailed"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, peer, reason"
documentFor (Namespace [] [Text
"PromoteWarmDone"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, peer"
documentFor (Namespace [] [Text
"PromoteWarmAborted"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"DemoteWarmPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target established, actual established, selected peers"
documentFor (Namespace [] [Text
"DemoteWarmFailed"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target established, actual established, peer, reason"
documentFor (Namespace [] [Text
"DemoteWarmFailed", Text
"CoolingToColdTimeout"]) =
Text -> Maybe Text
forall a. a -> Maybe a
Just Text
"Impossible asynchronous demotion timeout"
documentFor (Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]) =
Text -> Maybe Text
forall a. a -> Maybe a
Just Text
"Impossible asynchronous demotion timeout"
documentFor (Namespace [] [Text
"DemoteWarmDone"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target established, actual established, peer"
documentFor (Namespace [] [Text
"DemoteHotPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, selected peers, scores of the peers available to demote"
documentFor (Namespace [] [Text
"DemoteHotBigLedgerPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active big ledger peers, actual active big ledger peers, selected peers, scores of the peers available to demote"
documentFor (Namespace [] [Text
"DemoteLocalHotPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"local per-group (target active, actual active), selected peers"
documentFor (Namespace [] [Text
"DemoteHotFailed"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, peer, reason"
documentFor (Namespace [] [Text
"DemoteHotFailed", Text
"CoolingToColdTimeout"]) =
Text -> Maybe Text
forall a. a -> Maybe a
Just Text
"Impossible asynchronous demotion timeout"
documentFor (Namespace [] [Text
"DemoteHotBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]) =
Text -> Maybe Text
forall a. a -> Maybe a
Just Text
"Impossible asynchronous demotion timeout"
documentFor (Namespace [] [Text
"DemoteHotDone"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"target active, actual active, peer"
documentFor (Namespace [] [Text
"DemoteAsynchronous"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"DemoteLocalAsynchronous"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"GovernorWakeup"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"ChurnWait"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
""
documentFor (Namespace [] [Text
"PickInboundPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"An inbound connection was added to known set of outbound governor"
documentFor (Namespace [] [Text
"OutboundGovernorCriticalFailure"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"Outbound Governor was killed unexpectedly"
documentFor (Namespace [] [Text
"DebugState"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
Text
"peer selection internal state"
documentFor Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns = Namespace (ToExtraTrace extraPeers) -> Maybe Text
forall a. MetaTrace a => Namespace a -> Maybe Text
documentFor (Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Namespace (ToExtraTrace extraPeers)
forall a b. Namespace a -> Namespace b
nsCast Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns :: Namespace (ToExtraTrace extraPeers))
metricsDocFor :: Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> [(Text, Text)]
metricsDocFor (Namespace [] [Text
"ChurnAction"]) =
[ (Text
"peerSelection.churn.DecreasedActivePeers.duration", Text
"")
, (Text
"peerSelection.churn.DecreasedActiveBigLedgerPeers.duration", Text
"")
, (Text
"peerSelection.churn.DecreasedEstablishedPeers.duration", Text
"")
, (Text
"peerSelection.churn.DecreasedEstablishedBigLedgerPeers.duration", Text
"")
, (Text
"peerSelection.churn.DecreasedKnownPeers.duration", Text
"")
, (Text
"peerSelection.churn.DecreasedKnownBigLedgerPeers.duration", Text
"")
]
metricsDocFor (Namespace [] [Text
"DemoteHotPeers"]) =
Text -> Text -> [(Text, Text)]
hotDemotionMetricsDoc Text
"peerSelection.churn.hot." Text
"hot peers"
metricsDocFor (Namespace [] [Text
"DemoteHotBigLedgerPeers"]) =
Text -> Text -> [(Text, Text)]
hotDemotionMetricsDoc Text
"peerSelection.churn.bigLedger." Text
"hot big ledger peers"
metricsDocFor Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns = Namespace (ToExtraTrace extraPeers) -> [(Text, Text)]
forall a. MetaTrace a => Namespace a -> [(Text, Text)]
metricsDocFor (Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
-> Namespace (ToExtraTrace extraPeers)
forall a b. Namespace a -> Namespace b
nsCast Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
ns :: Namespace (ToExtraTrace extraPeers))
allNamespaces :: [Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)]
allNamespaces = [
[Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"LocalRootPeersChanged"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TargetsChanged"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PublicRootsRequest"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PublicRootsResults"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PublicRootsFailure"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ForgetColdPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BigLedgerPeersRequest"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BigLedgerPeersResults"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BigLedgerPeersFailure"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ForgetBigLedgerPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PeerShareRequests"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PeerShareResults"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PeerShareResultsFiltered"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickInboundPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdLocalPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdBigLedgerPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdBigLedgerPeerFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteColdBigLedgerPeerDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmLocalPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmAborted"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeerFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeerDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PromoteWarmBigLedgerPeerAborted"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmFailed", Text
"CoolingToColdTimeout"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteWarmBigLedgerPeerDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteLocalHotPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotFailed", Text
"CoolingToColdTimeout"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeerFailed"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeerFailed", Text
"CoolingToColdTimeout"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteHotBigLedgerPeerDone"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteAsynchronous"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteLocalAsynchronous"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DemoteBigLedgerPeersAsynchronous"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"GovernorWakeup"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ChurnWait"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ChurnAction"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ChurnTimeout"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"OnlyBootstrapPeers"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"BootstrapPeersFlagChangedWhilstInSensitiveState"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"VerifyPeerSnapshot"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"OutboundGovernorCriticalFailure"]
, [Text]
-> [Text]
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DebugState"]
] [Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)]
-> [Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)]
-> [Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)]
forall a. [a] -> [a] -> [a]
++ (Namespace (ToExtraTrace extraPeers)
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr))
-> [Namespace (ToExtraTrace extraPeers)]
-> [Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)]
forall a b. (a -> b) -> [a] -> [b]
map Namespace (ToExtraTrace extraPeers)
-> Namespace
(TracePeerSelection extraDebugState extraFlags extraPeers ntnAddr)
forall a b. Namespace a -> Namespace b
nsCast ([Namespace (ToExtraTrace extraPeers)]
forall a. MetaTrace a => [Namespace a]
allNamespaces :: [Namespace (ToExtraTrace extraPeers)])
instance LogFormatting (ToExtraTrace (NoExtraPeers peeraddr)) where
forMachine :: DetailLevel -> ToExtraTrace (NoExtraPeers peeraddr) -> Object
forMachine DetailLevel
_dtal ToExtraTrace (NoExtraPeers peeraddr)
_ =
[Object] -> Object
forall a. Monoid a => [a] -> a
mconcat [ Key
"kind" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"ExtraTrace"
, Key
"error" Key -> Value -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Text -> Value
String Text
"impossible ouroboros-network error: Unexpected trace for NoExtraPeers"
]
forHuman :: ToExtraTrace (NoExtraPeers peeraddr) -> Text
forHuman ToExtraTrace (NoExtraPeers peeraddr)
_ = Text
"impossible ouroboros-network error: Unexpected ExtraTrace tag for NoExtraPeers"
instance MetaTrace (ToExtraTrace (NoExtraPeers peeraddr)) where
namespaceFor :: ToExtraTrace (NoExtraPeers peeraddr)
-> Namespace (ToExtraTrace (NoExtraPeers peeraddr))
namespaceFor ToExtraTrace (NoExtraPeers peeraddr)
_ = [Text]
-> [Text] -> Namespace (ToExtraTrace (NoExtraPeers peeraddr))
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Error"]
severityFor :: Namespace (ToExtraTrace (NoExtraPeers peeraddr))
-> Maybe (ToExtraTrace (NoExtraPeers peeraddr)) -> Maybe SeverityS
severityFor Namespace (ToExtraTrace (NoExtraPeers peeraddr))
_ Maybe (ToExtraTrace (NoExtraPeers peeraddr))
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Error
documentFor :: Namespace (ToExtraTrace (NoExtraPeers peeraddr)) -> Maybe Text
documentFor Namespace (ToExtraTrace (NoExtraPeers peeraddr))
_ = Text -> Maybe Text
forall a. a -> Maybe a
Just Text
"This should just never happen"
allNamespaces :: [Namespace (ToExtraTrace (NoExtraPeers peeraddr))]
allNamespaces = [[Text]
-> [Text] -> Namespace (ToExtraTrace (NoExtraPeers peeraddr))
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Error"]]
instance LogFormatting (ViewExtraPeers (NoExtraPeers peeraddr)) where
forMachine :: DetailLevel -> ViewExtraPeers (NoExtraPeers peeraddr) -> Object
forMachine DetailLevel
_dtal ViewExtraPeers (NoExtraPeers peeraddr)
_ = Object
forall a. Monoid a => a
mempty
instance MetaTrace (ViewExtraPeers (NoExtraPeers peeraddr)) where
namespaceFor :: ViewExtraPeers (NoExtraPeers peeraddr)
-> Namespace (ViewExtraPeers (NoExtraPeers peeraddr))
namespaceFor ViewExtraPeers (NoExtraPeers peeraddr)
_ = [Text]
-> [Text] -> Namespace (ViewExtraPeers (NoExtraPeers peeraddr))
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Counters"]
severityFor :: Namespace (ViewExtraPeers (NoExtraPeers peeraddr))
-> Maybe (ViewExtraPeers (NoExtraPeers peeraddr))
-> Maybe SeverityS
severityFor Namespace (ViewExtraPeers (NoExtraPeers peeraddr))
_ Maybe (ViewExtraPeers (NoExtraPeers peeraddr))
_ = Maybe SeverityS
forall a. Maybe a
Nothing
documentFor :: Namespace (ViewExtraPeers (NoExtraPeers peeraddr)) -> Maybe Text
documentFor Namespace (ViewExtraPeers (NoExtraPeers peeraddr))
_ = Maybe Text
forall a. Maybe a
Nothing
allNamespaces :: [Namespace (ViewExtraPeers (NoExtraPeers peeraddr))]
allNamespaces = [[Text]
-> [Text] -> Namespace (ViewExtraPeers (NoExtraPeers peeraddr))
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"Counters"]]
hotDemotionMetrics :: Ord peeraddr
=> Text
-> Set peeraddr
-> Map peeraddr (Maybe Int)
-> [Metric]
hotDemotionMetrics :: forall peeraddr.
Ord peeraddr =>
Text -> Set peeraddr -> Map peeraddr (Maybe Int) -> [Metric]
hotDemotionMetrics Text
prefix Set peeraddr
demoted Map peeraddr (Maybe Int)
scores =
[ Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"demotedTopScore")
(Maybe Int -> Integer
orUndefined (Map peeraddr Int -> Maybe Int
forall {a} {k}. Ord a => Map k a -> Maybe a
maximumMay Map peeraddr Int
demotedScores))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedBottomScore")
(Maybe Int -> Integer
orUndefined (Map peeraddr Int -> Maybe Int
forall {a} {k}. Ord a => Map k a -> Maybe a
minimumMay Map peeraddr Int
retainedScores))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedMedianScore")
(Maybe Int -> Integer
orUndefined (Map peeraddr Int -> Maybe Int
forall {a} {k}. Ord a => Map k a -> Maybe a
medianMay Map peeraddr Int
retainedScores))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedTopScore")
(Maybe Int -> Integer
orUndefined (Map peeraddr Int -> Maybe Int
forall {a} {k}. Ord a => Map k a -> Maybe a
maximumMay Map peeraddr Int
retainedScores))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"zeroScorers")
(Int -> Integer
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Map peeraddr (Maybe Int) -> Int
forall k a. Map k a -> Int
Map.size ((Maybe Int -> Bool)
-> Map peeraddr (Maybe Int) -> Map peeraddr (Maybe Int)
forall a k. (a -> Bool) -> Map k a -> Map k a
Map.filter Maybe Int -> Bool
forall a. Maybe a -> Bool
isNothing Map peeraddr (Maybe Int)
scores)))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"scoreSum") (Int -> Integer
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Map peeraddr Int -> Int
forall a. Num a => Map peeraddr a -> a
forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
sum Map peeraddr Int
scored))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"eligiblePeers") (Int -> Integer
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Map peeraddr (Maybe Int) -> Int
forall k a. Map k a -> Int
Map.size Map peeraddr (Maybe Int)
scores))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedGiniPermille")
([Int] -> Integer
giniPermille (Map peeraddr Int -> [Int]
forall k a. Map k a -> [a]
Map.elems Map peeraddr Int
retainedScores))
, Text -> Integer -> Metric
IntM (Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"topDSharePermille")
(Int -> [Int] -> Integer
topSharePermille (Set peeraddr -> Int
forall a. Set a -> Int
Set.size Set peeraddr
demoted) (Map peeraddr Int -> [Int]
forall k a. Map k a -> [a]
Map.elems Map peeraddr Int
scored))
]
where
scored :: Map peeraddr Int
scored = Int -> Maybe Int -> Int
forall a. a -> Maybe a -> a
fromMaybe Int
0 (Maybe Int -> Int) -> Map peeraddr (Maybe Int) -> Map peeraddr Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Map peeraddr (Maybe Int)
scores
demotedScores :: Map peeraddr Int
demotedScores = Map peeraddr Int -> Set peeraddr -> Map peeraddr Int
forall k a. Ord k => Map k a -> Set k -> Map k a
Map.restrictKeys Map peeraddr Int
scored Set peeraddr
demoted
retainedScores :: Map peeraddr Int
retainedScores = Map peeraddr Int -> Set peeraddr -> Map peeraddr Int
forall k a. Ord k => Map k a -> Set k -> Map k a
Map.withoutKeys Map peeraddr Int
scored Set peeraddr
demoted
undefinedGauge :: Integer
undefinedGauge :: Integer
undefinedGauge = -Integer
1
orUndefined :: Maybe Int -> Integer
orUndefined :: Maybe Int -> Integer
orUndefined = Integer -> (Int -> Integer) -> Maybe Int -> Integer
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Integer
undefinedGauge Int -> Integer
forall a b. (Integral a, Num b) => a -> b
fromIntegral
giniPermille :: [Int] -> Integer
giniPermille :: [Int] -> Integer
giniPermille [Int]
xs
| [Int] -> Bool
forall a. [a] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null [Int]
xs = Integer
undefinedGauge
| Double
total Double -> Double -> Bool
forall a. Eq a => a -> a -> Bool
== Double
0 = Integer
0
| Bool
otherwise = Double -> Integer
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double
1000 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
num Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ (Int -> Double
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
n Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
total))
where
sorted :: [Int]
sorted = [Int] -> [Int]
forall a. Ord a => [a] -> [a]
sort [Int]
xs
n :: Int
n = [Int] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Int]
xs
total :: Double
total = Int -> Double
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> Int
forall a. Num a => [a] -> a
forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
sum [Int]
xs) :: Double
num :: Double
num = [Double] -> Double
forall a. Num a => [a] -> a
forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
sum [ Int -> Double
forall a b. (Integral a, Num b) => a -> b
fromIntegral ((Int
2 Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
n Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
x) | (Int
i, Int
x) <- [Int] -> [Int] -> [(Int, Int)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Int
1 ..] [Int]
sorted ] :: Double
topSharePermille :: Int -> [Int] -> Integer
topSharePermille :: Int -> [Int] -> Integer
topSharePermille Int
d [Int]
xs
| Int
d Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
<= Int
0 Bool -> Bool -> Bool
|| [Int] -> Bool
forall a. [a] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null [Int]
xs Bool -> Bool -> Bool
|| Double
total Double -> Double -> Bool
forall a. Eq a => a -> a -> Bool
== Double
0 = Integer
undefinedGauge
| Bool
otherwise = Double -> Integer
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double
1000 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
top Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
total)
where
total :: Double
total = Int -> Double
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> Int
forall a. Num a => [a] -> a
forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
sum [Int]
xs) :: Double
top :: Double
top = Int -> Double
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> Int
forall a. Num a => [a] -> a
forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
sum (Int -> [Int] -> [Int]
forall a. Int -> [a] -> [a]
take Int
d ((Int -> Int) -> [Int] -> [Int]
forall b a. Ord b => (a -> b) -> [a] -> [a]
sortOn Int -> Int
forall a. Num a => a -> a
negate [Int]
xs))) :: Double
maximumMay :: Map k a -> Maybe a
maximumMay Map k a
m
| Map k a -> Bool
forall k a. Map k a -> Bool
Map.null Map k a
m = Maybe a
forall a. Maybe a
Nothing
| Bool
otherwise = a -> Maybe a
forall a. a -> Maybe a
Just (Map k a -> a
forall a. Ord a => Map k a -> a
forall (t :: * -> *) a. (Foldable t, Ord a) => t a -> a
maximum Map k a
m)
minimumMay :: Map k a -> Maybe a
minimumMay Map k a
m
| Map k a -> Bool
forall k a. Map k a -> Bool
Map.null Map k a
m = Maybe a
forall a. Maybe a
Nothing
| Bool
otherwise = a -> Maybe a
forall a. a -> Maybe a
Just (Map k a -> a
forall a. Ord a => Map k a -> a
forall (t :: * -> *) a. (Foldable t, Ord a) => t a -> a
minimum Map k a
m)
medianMay :: Map k a -> Maybe a
medianMay Map k a
m
| Map k a -> Bool
forall k a. Map k a -> Bool
Map.null Map k a
m = Maybe a
forall a. Maybe a
Nothing
| Bool
otherwise = a -> Maybe a
forall a. a -> Maybe a
Just ([a] -> [a]
forall a. Ord a => [a] -> [a]
sort (Map k a -> [a]
forall k a. Map k a -> [a]
Map.elems Map k a
m) [a] -> Int -> a
forall a. HasCallStack => [a] -> Int -> a
!! ((Map k a -> Int
forall k a. Map k a -> Int
Map.size Map k a
m Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1) Int -> Int -> Int
forall a. Integral a => a -> a -> a
`div` Int
2))
hotDemotionMetricsDoc :: Text
-> Text
-> [(Text, Text)]
hotDemotionMetricsDoc :: Text -> Text -> [(Text, Text)]
hotDemotionMetricsDoc Text
prefix Text
what =
[ ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"demotedTopScore"
, Text
"highest demotion score among the " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" demoted to warm; "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"the score a peer had to beat to stay hot; -1 when no peer was "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"demoted" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedBottomScore"
, Text
"lowest demotion score among the " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" which stayed hot; "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"-1 when none stayed hot" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedMedianScore"
, Text
"median demotion score among the " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" which stayed hot; "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"-1 when none stayed hot" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedTopScore"
, Text
"highest demotion score among the " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" which stayed hot; "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"the incumbent an attacker would have to out-score; -1 when none "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"stayed hot" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"zeroScorers"
, Text
"number of " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" without any demotion score" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"scoreSum"
, Text
"sum of the demotion scores of all " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"eligiblePeers"
, Text
"number of " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" which were available to demote" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"retainedGiniPermille"
, Text
"Gini coefficient, in per-mille, of the demotion scores of the "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" which stayed hot; 0 when they are all equal, -1 when "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"none stayed hot" )
, ( Text
prefix Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"topDSharePermille"
, Text
"share, in per-mille, of all demotion scores held by as many of the "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"strongest " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
what Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
" as were demoted; -1 when no peer was "
Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"demoted or no peer had a score" )
]