{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PackageImports    #-}

--------------------------------------------------------------------------------

-- Orphan instances module for Cardano tracer.
{-# OPTIONS_GHC -Wno-orphans #-}
-- Extracted from "cardano-node" `Cardano.Node.Tracing.Tracers.Diffusion`.
-- Branch "master" (2026-02-11, 85869e9dd21d9dac7c4381418346e97259c3303b).

--------------------------------------------------------------------------------

module Ouroboros.Network.Tracing.PeerSelection () where

--------------------------------------------------------------------------------

---------
-- base -
---------
import Data.List qualified as List
---------------------
-- Package: "aeson" -
---------------------
import "aeson" Data.Aeson (Value (String), (.=))
---------------------------------
-- Package: "ouroboros-network" -
---------------------------------
import "ouroboros-network" Ouroboros.Network.Diffusion.Types qualified as Diff
-- Needed for `instance ToJSON UseLedgerPeers`.
import "ouroboros-network" Ouroboros.Network.OrphanInstances ()
import "ouroboros-network" Ouroboros.Network.PeerSelection.LedgerPeers
           (NumberOfPeers (..), PoolStake (..), TraceLedgerPeers (..))
--------------------
-- Package: "text" -
--------------------
import "text" Data.Text (pack)
--------------------------------
-- Package: "trace-dispatcher" -
--------------------------------
import "trace-dispatcher" Cardano.Logging
---------
-- Self -
---------
import Ouroboros.Network.Tracing.PeerSelection.Governor ()
import Ouroboros.Network.Tracing.PeerSelection.PeerStateActions ()
import Ouroboros.Network.Tracing.PeerSelection.RootPeersDNS.DNSActions ()
import Ouroboros.Network.Tracing.PeerSelection.RootPeersDNS.LocalRootPeers ()
import Ouroboros.Network.Tracing.PeerSelection.RootPeersDNS.PublicRootPeers ()

--------------------------------------------------------------------------------
-- DiffusionInit Tracer.
--------------------------------------------------------------------------------

instance (Show ntnAddr, Show ntcAddr) =>
  LogFormatting (Diff.DiffusionTracer ntnAddr ntcAddr) where
  forMachine :: DetailLevel -> DiffusionTracer ntnAddr ntcAddr -> Object
forMachine DetailLevel
_dtal (Diff.RunServer NonEmpty ntnAddr
sockAddr) = [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
"RunServer"
    , Key
"socketAddress" 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 (String -> Text
pack (NonEmpty ntnAddr -> String
forall a. Show a => a -> String
show NonEmpty ntnAddr
sockAddr))
    ]

  forMachine DetailLevel
_dtal (Diff.RunLocalServer ntcAddr
localAddress) = [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
"RunLocalServer"
    , Key
"localAddress" 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 (String -> Text
pack (ntcAddr -> String
forall a. Show a => a -> String
show ntcAddr
localAddress))
    ]
  forMachine DetailLevel
_dtal (Diff.UsingSystemdSocket ntcAddr
localAddress) = [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
"UsingSystemdSocket"
    , Key
"path" 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 (String -> Text
pack (String -> Text) -> (ntcAddr -> String) -> ntcAddr -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ntcAddr -> String
forall a. Show a => a -> String
show (ntcAddr -> Text) -> ntcAddr -> Text
forall a b. (a -> b) -> a -> b
$ ntcAddr
localAddress)
    ]

  forMachine DetailLevel
_dtal (Diff.CreateSystemdSocketForSnocketPath ntcAddr
localAddress) = [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
"CreateSystemdSocketForSnocketPath"
    , Key
"path" 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 (String -> Text
pack (String -> Text) -> (ntcAddr -> String) -> ntcAddr -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ntcAddr -> String
forall a. Show a => a -> String
show (ntcAddr -> Text) -> ntcAddr -> Text
forall a b. (a -> b) -> a -> b
$ ntcAddr
localAddress)
    ]
  forMachine DetailLevel
_dtal (Diff.CreatedLocalSocket ntcAddr
localAddress) = [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
"CreatedLocalSocket"
    , Key
"path" 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 (String -> Text
pack (String -> Text) -> (ntcAddr -> String) -> ntcAddr -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ntcAddr -> String
forall a. Show a => a -> String
show (ntcAddr -> Text) -> ntcAddr -> Text
forall a b. (a -> b) -> a -> b
$ ntcAddr
localAddress)
    ]
  forMachine DetailLevel
_dtal (Diff.ConfiguringLocalSocket ntcAddr
localAddress FileDescriptor
socket) = [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
"ConfiguringLocalSocket"
    , Key
"path" 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 (String -> Text
pack (String -> Text) -> (ntcAddr -> String) -> ntcAddr -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ntcAddr -> String
forall a. Show a => a -> String
show (ntcAddr -> Text) -> ntcAddr -> Text
forall a b. (a -> b) -> a -> b
$ ntcAddr
localAddress)
    , Key
"socket" 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 (String -> Text
pack (FileDescriptor -> String
forall a. Show a => a -> String
show FileDescriptor
socket))
    ]
  forMachine DetailLevel
_dtal (Diff.ListeningLocalSocket ntcAddr
localAddress FileDescriptor
socket) = [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
"ListeningLocalSocket"
    , Key
"path" 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 (String -> Text
pack (String -> Text) -> (ntcAddr -> String) -> ntcAddr -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ntcAddr -> String
forall a. Show a => a -> String
show (ntcAddr -> Text) -> ntcAddr -> Text
forall a b. (a -> b) -> a -> b
$ ntcAddr
localAddress)
    , Key
"socket" 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 (String -> Text
pack (FileDescriptor -> String
forall a. Show a => a -> String
show FileDescriptor
socket))
    ]
  forMachine DetailLevel
_dtal (Diff.LocalSocketUp ntcAddr
localAddress FileDescriptor
fd) = [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
"LocalSocketUp"
    , Key
"path" 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 (String -> Text
pack (String -> Text) -> (ntcAddr -> String) -> ntcAddr -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ntcAddr -> String
forall a. Show a => a -> String
show (ntcAddr -> Text) -> ntcAddr -> Text
forall a b. (a -> b) -> a -> b
$ ntcAddr
localAddress)
    , Key
"socket" 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 (String -> Text
pack (FileDescriptor -> String
forall a. Show a => a -> String
show FileDescriptor
fd))
    ]
  forMachine DetailLevel
_dtal (Diff.CreatingServerSocket ntnAddr
socket) = [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
"CreatingServerSocket"
    , Key
"socket" 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 (String -> Text
pack (ntnAddr -> String
forall a. Show a => a -> String
show ntnAddr
socket))
    ]
  forMachine DetailLevel
_dtal (Diff.ListeningServerSocket ntnAddr
socket) = [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
"ListeningServerSocket"
    , Key
"socket" 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 (String -> Text
pack (ntnAddr -> String
forall a. Show a => a -> String
show ntnAddr
socket))
    ]
  forMachine DetailLevel
_dtal (Diff.ServerSocketUp ntnAddr
socket) = [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
"ServerSocketUp"
    , Key
"socket" 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 (String -> Text
pack (ntnAddr -> String
forall a. Show a => a -> String
show ntnAddr
socket))
    ]
  forMachine DetailLevel
_dtal (Diff.ConfiguringServerSocket ntnAddr
socket) = [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
"ConfiguringServerSocket"
    , Key
"socket" 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 (String -> Text
pack (ntnAddr -> String
forall a. Show a => a -> String
show ntnAddr
socket))
    ]
  forMachine DetailLevel
_dtal (Diff.UnsupportedLocalSystemdSocket ntnAddr
path) = [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
"UnsupportedLocalSystemdSocket"
    , Key
"path" 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 (String -> Text
pack (ntnAddr -> String
forall a. Show a => a -> String
show ntnAddr
path))
    ]
  forMachine DetailLevel
_dtal DiffusionTracer ntnAddr ntcAddr
Diff.UnsupportedReadySocketCase = [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
"UnsupportedReadySocketCase"
    ]
  forMachine DetailLevel
_dtal (Diff.DiffusionErrored SomeException
exception) = [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
"DiffusionErrored"
    , 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 (String -> Text
pack (SomeException -> String
forall a. Show a => a -> String
show SomeException
exception))
    ]
  forMachine DetailLevel
_dtal (Diff.SystemdSocketConfiguration SystemdSocketTracer
config) = [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
"SystemdSocketConfiguration"
    , Key
"path" 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 (String -> Text
pack (SystemdSocketTracer -> String
forall a. Show a => a -> String
show SystemdSocketTracer
config))
    ]

instance MetaTrace (Diff.DiffusionTracer ntnAddr ntcAddr) where
    namespaceFor :: DiffusionTracer ntnAddr ntcAddr
-> Namespace (DiffusionTracer ntnAddr ntcAddr)
namespaceFor Diff.RunServer {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RunServer"]
    namespaceFor Diff.RunLocalServer {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RunLocalServer"]
    namespaceFor Diff.UsingSystemdSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UsingSystemdSocket"]
    namespaceFor Diff.CreateSystemdSocketForSnocketPath {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"CreateSystemdSocketForSnocketPath"]
    namespaceFor Diff.CreatedLocalSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"CreatedLocalSocket"]
    namespaceFor Diff.ConfiguringLocalSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ConfiguringLocalSocket"]
    namespaceFor Diff.ListeningLocalSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ListeningLocalSocket"]
    namespaceFor Diff.LocalSocketUp {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"LocalSocketUp"]
    namespaceFor Diff.CreatingServerSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"CreatingServerSocket"]
    namespaceFor Diff.ListeningServerSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ListeningServerSocket"]
    namespaceFor Diff.ServerSocketUp {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ServerSocketUp"]
    namespaceFor Diff.ConfiguringServerSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ConfiguringServerSocket"]
    namespaceFor Diff.UnsupportedLocalSystemdSocket {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UnsupportedLocalSystemdSocket"]
    namespaceFor Diff.UnsupportedReadySocketCase {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UnsupportedReadySocketCase"]
    namespaceFor Diff.DiffusionErrored {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DiffusionErrored"]
    namespaceFor Diff.SystemdSocketConfiguration {} =
      [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"SystemdSocketConfiguration"]

    severityFor :: Namespace (DiffusionTracer ntnAddr ntcAddr)
-> Maybe (DiffusionTracer ntnAddr ntcAddr) -> Maybe SeverityS
severityFor (Namespace [Text]
_ [Text
"RunServer"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"RunLocalServer"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"UsingSystemdSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"CreateSystemdSocketForSnocketPath"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"CreatedLocalSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"ConfiguringLocalSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"ListeningLocalSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"LocalSocketUp"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"CreatingServerSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"ListeningServerSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"ServerSocketUp"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"ConfiguringServerSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"UnsupportedLocalSystemdSocket"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Warning
    severityFor (Namespace [Text]
_ [Text
"UnsupportedReadySocketCase"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"DiffusionErrored"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Critical
    severityFor (Namespace [Text]
_ [Text
"SystemdSocketConfiguration"]) Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Warning
    severityFor Namespace (DiffusionTracer ntnAddr ntcAddr)
_ Maybe (DiffusionTracer ntnAddr ntcAddr)
_ = Maybe SeverityS
forall a. Maybe a
Nothing

    documentFor :: Namespace (DiffusionTracer ntnAddr ntcAddr) -> Maybe Text
documentFor (Namespace [Text]
_ [Text
"RunServer"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"RunServer"
    documentFor (Namespace [Text]
_ [Text
"RunLocalServer"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"RunLocalServer"
    documentFor (Namespace [Text]
_ [Text
"UsingSystemdSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"UsingSystemdSocket"
    documentFor (Namespace [Text]
_ [Text
"CreateSystemdSocketForSnocketPath"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"CreateSystemdSocketForSnocketPath"
    documentFor (Namespace [Text]
_ [Text
"CreatedLocalSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"CreatedLocalSocket"
    documentFor (Namespace [Text]
_ [Text
"ConfiguringLocalSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"ConfiguringLocalSocket"
    documentFor (Namespace [Text]
_ [Text
"ListeningLocalSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"ListeningLocalSocket"
    documentFor (Namespace [Text]
_ [Text
"LocalSocketUp"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"LocalSocketUp"
    documentFor (Namespace [Text]
_ [Text
"CreatingServerSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"CreatingServerSocket"
    documentFor (Namespace [Text]
_ [Text
"ListeningServerSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"ListeningServerSocket"
    documentFor (Namespace [Text]
_ [Text
"ServerSocketUp"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"ServerSocketUp"
    documentFor (Namespace [Text]
_ [Text
"ConfiguringServerSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"ConfiguringServerSocket"
    documentFor (Namespace [Text]
_ [Text
"UnsupportedLocalSystemdSocket"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"UnsupportedLocalSystemdSocket"
    documentFor (Namespace [Text]
_ [Text
"UnsupportedReadySocketCase"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"UnsupportedReadySocketCase"
    documentFor (Namespace [Text]
_ [Text
"DiffusionErrored"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"DiffusionErrored"
    documentFor (Namespace [Text]
_ [Text
"SystemdSocketConfiguration"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"SystemdSocketConfiguration"
    documentFor Namespace (DiffusionTracer ntnAddr ntcAddr)
_ = Maybe Text
forall a. Maybe a
Nothing

    allNamespaces :: [Namespace (DiffusionTracer ntnAddr ntcAddr)]
allNamespaces = [
        [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RunServer"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RunLocalServer"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UsingSystemdSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"CreateSystemdSocketForSnocketPath"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"CreatedLocalSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ConfiguringLocalSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ListeningLocalSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"LocalSocketUp"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"CreatingServerSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ListeningServerSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ServerSocketUp"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ConfiguringServerSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UnsupportedLocalSystemdSocket"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UnsupportedReadySocketCase"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DiffusionErrored"]
      , [Text] -> [Text] -> Namespace (DiffusionTracer ntnAddr ntcAddr)
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"SystemdSocketConfiguration"]
      ]

--------------------------------------------------------------------------------
-- LedgerPeers Tracer.
--------------------------------------------------------------------------------

instance LogFormatting TraceLedgerPeers where
  forMachine :: DetailLevel -> TraceLedgerPeers -> Object
forMachine DetailLevel
_dtal (PickedLedgerPeer RelayAccessPoint
addr AccPoolStake
_ackStake PoolStake
stake) =
    [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
"PickedLedgerPeer"
      , Key
"address" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= RelayAccessPoint -> String
forall a. Show a => a -> String
show RelayAccessPoint
addr
      , Key
"relativeStake" Key -> Double -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Rational -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (PoolStake -> Rational
unPoolStake PoolStake
stake) :: Double)
      ]
  forMachine DetailLevel
_dtal (PickedLedgerPeers (NumberOfPeers Word16
n) [RelayAccessPoint]
addrs) =
    [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
"PickedLedgerPeers"
      , Key
"desiredCount" Key -> Word16 -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Word16
n
      , Key
"count" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [RelayAccessPoint] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
List.length [RelayAccessPoint]
addrs
      , Key
"addresses" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [RelayAccessPoint] -> String
forall a. Show a => a -> String
show [RelayAccessPoint]
addrs
      ]
  forMachine DetailLevel
_dtal (PickedBigLedgerPeer RelayAccessPoint
addr AccPoolStake
_ackStake PoolStake
stake) =
    [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
"PickedBigLedgerPeer"
      , Key
"address" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= RelayAccessPoint -> String
forall a. Show a => a -> String
show RelayAccessPoint
addr
      , Key
"relativeStake" Key -> Double -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= (Rational -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac (PoolStake -> Rational
unPoolStake PoolStake
stake) :: Double)
      ]
  forMachine DetailLevel
_dtal (PickedBigLedgerPeers (NumberOfPeers Word16
n) [RelayAccessPoint]
addrs) =
    [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
"PickedBigLedgerPeers"
      , Key
"desiredCount" Key -> Word16 -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Word16
n
      , Key
"count" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [RelayAccessPoint] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
List.length [RelayAccessPoint]
addrs
      , Key
"addresses" Key -> String -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [RelayAccessPoint] -> String
forall a. Show a => a -> String
show [RelayAccessPoint]
addrs
      ]
  forMachine DetailLevel
_dtal (FetchingNewLedgerState Int
cnt Int
bigCnt) =
    [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
"FetchingNewLedgerState"
      , Key
"numberOfLedgerPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
cnt
      , 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
bigCnt
      ]
  forMachine DetailLevel
_dtal TraceLedgerPeers
DisabledLedgerPeers =
    [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
"DisabledLedgerPeers"
      ]
  forMachine DetailLevel
_dtal (TraceUseLedgerPeers UseLedgerPeers
ulp) =
    [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
"UseLedgerPeers"
      , Key
"useLedgerPeers" Key -> UseLedgerPeers -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= UseLedgerPeers
ulp
      ]
  forMachine DetailLevel
_dtal TraceLedgerPeers
WaitingOnRequest =
    [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
"WaitingOnRequest"
      ]
  forMachine DetailLevel
_dtal (RequestForPeers (NumberOfPeers Word16
np)) =
    [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
"RequestForPeers"
      , Key
"numberOfPeers" Key -> Word16 -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Word16
np
      ]
  forMachine DetailLevel
_dtal (ReusingLedgerState Int
cnt DiffTime
age) =
    [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
"ReusingLedgerState"
      , Key
"numberOfPools" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
cnt
      , Key
"ledgerStateAge" Key -> DiffTime -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= DiffTime
age
      ]
  forMachine DetailLevel
_dtal TraceLedgerPeers
FallingBackToPublicRootPeers =
    [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
"FallingBackToPublicRootPeers"
      ]
  forMachine DetailLevel
_dtal (NotEnoughLedgerPeers (NumberOfPeers Word16
target) Int
numOfLedgerPeers) =
    [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
"NotEnoughLedgerPeers"
      , Key
"target" Key -> Word16 -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Word16
target
      , Key
"numOfLedgerPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
numOfLedgerPeers
      ]
  forMachine DetailLevel
_dtal (NotEnoughBigLedgerPeers (NumberOfPeers Word16
target) Int
numOfBigLedgerPeers) =
    [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
"NotEnoughBigLedgerPeers"
      , Key
"target" Key -> Word16 -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Word16
target
      , Key
"numOfBigLedgerPeers" Key -> Int -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Int
numOfBigLedgerPeers
      ]
  forMachine DetailLevel
_dtal (TraceLedgerPeersDomains [RelayAccessPoint]
daps) =
    [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
"TraceLedgerPeersDomains"
      , Key
"domainAccessPoints" Key -> [RelayAccessPoint] -> Object
forall v. ToJSON v => Key -> v -> Object
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [RelayAccessPoint]
daps
      ]
  forMachine DetailLevel
_dtal TraceLedgerPeers
UsingBigLedgerPeerSnapshot =
    [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
"UsingBigLedgerPeerSnapshot"
      ]

instance MetaTrace TraceLedgerPeers where
    namespaceFor :: TraceLedgerPeers -> Namespace TraceLedgerPeers
namespaceFor PickedLedgerPeer {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedLedgerPeer"]
    namespaceFor PickedLedgerPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedLedgerPeers"]
    namespaceFor PickedBigLedgerPeer {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedBigLedgerPeer"]
    namespaceFor PickedBigLedgerPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedBigLedgerPeers"]
    namespaceFor FetchingNewLedgerState {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"FetchingNewLedgerState"]
    namespaceFor DisabledLedgerPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DisabledLedgerPeers"]
    namespaceFor TraceUseLedgerPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TraceUseLedgerPeers"]
    namespaceFor WaitingOnRequest {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"WaitingOnRequest"]
    namespaceFor RequestForPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RequestForPeers"]
    namespaceFor ReusingLedgerState {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReusingLedgerState"]
    namespaceFor FallingBackToPublicRootPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"FallingBackToPublicRootPeers"]
    namespaceFor NotEnoughLedgerPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"NotEnoughLedgerPeers"]
    namespaceFor NotEnoughBigLedgerPeers {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"NotEnoughBigLedgerPeers"]
    namespaceFor TraceLedgerPeersDomains {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TraceLedgerPeersDomains"]
    namespaceFor UsingBigLedgerPeerSnapshot {} =
      [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UsingBigLedgerPeerSnapshot"]

    severityFor :: Namespace TraceLedgerPeers
-> Maybe TraceLedgerPeers -> Maybe SeverityS
severityFor (Namespace [Text]
_ [Text
"PickedLedgerPeer"]) Maybe TraceLedgerPeers
_             = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor (Namespace [Text]
_ [Text
"PickedLedgerPeers"]) Maybe TraceLedgerPeers
_            = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"PickedBigLedgerPeer"]) Maybe TraceLedgerPeers
_          = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor (Namespace [Text]
_ [Text
"PickedBigLedgerPeers"]) Maybe TraceLedgerPeers
_         = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"FetchingNewLedgerState"]) Maybe TraceLedgerPeers
_       = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"DisabledLedgerPeers"]) Maybe TraceLedgerPeers
_          = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"TraceUseLedgerAfter"]) Maybe TraceLedgerPeers
_          = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"WaitingOnRequest"]) Maybe TraceLedgerPeers
_             = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor (Namespace [Text]
_ [Text
"RequestForPeers"]) Maybe TraceLedgerPeers
_              = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor (Namespace [Text]
_ [Text
"ReusingLedgerState"]) Maybe TraceLedgerPeers
_           = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor (Namespace [Text]
_ [Text
"FallingBackToPublicRootPeers"]) Maybe TraceLedgerPeers
_ = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Info
    severityFor (Namespace [Text]
_ [Text
"NotEnoughLedgerPeers"]) Maybe TraceLedgerPeers
_         = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Warning
    severityFor (Namespace [Text]
_ [Text
"NotEnoughBigLedgerPeers"]) Maybe TraceLedgerPeers
_      = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Warning
    severityFor (Namespace [Text]
_ [Text
"TraceLedgerPeersDomains"]) Maybe TraceLedgerPeers
_      = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor (Namespace [Text]
_ [Text
"UsingBigLedgerPeerSnapshot"]) Maybe TraceLedgerPeers
_   = SeverityS -> Maybe SeverityS
forall a. a -> Maybe a
Just SeverityS
Debug
    severityFor Namespace TraceLedgerPeers
_ Maybe TraceLedgerPeers
_                                              = Maybe SeverityS
forall a. Maybe a
Nothing

    documentFor :: Namespace TraceLedgerPeers -> Maybe Text
documentFor (Namespace [Text]
_ [Text
"PickedLedgerPeer"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"Trace for a peer picked with accumulated and relative stake of its pool."
    documentFor (Namespace [Text]
_ [Text
"PickedLedgerPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"Trace for the number of peers we wanted to pick and the list of peers picked."
    documentFor (Namespace [Text]
_ [Text
"PickedBigLedgerPeer"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"Trace for a big ledger peer picked with accumulated and relative stake of its pool."
    documentFor (Namespace [Text]
_ [Text
"PickedBigLedgerPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"Trace for the number of big ledger peers we wanted to pick and the list of peers picked."
    documentFor (Namespace [Text]
_ [Text
"FetchingNewLedgerState"]) = 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
"Trace for fetching a new list of peers from the ledger. Int is the number of peers"
      , Text
" returned."
      ]
    documentFor (Namespace [Text]
_ [Text
"DisabledLedgerPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"Trace for when getting peers from the ledger is disabled, that is DontUseLedger."
    documentFor (Namespace [Text]
_ [Text
"TraceUseLedgerAfter"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"Trace UseLedgerAfter value."
    documentFor (Namespace [Text]
_ [Text
"WaitingOnRequest"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
""
    documentFor (Namespace [Text]
_ [Text
"RequestForPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
"RequestForPeers (NumberOfPeers 1)"
    documentFor (Namespace [Text]
_ [Text
"ReusingLedgerState"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
""
    documentFor (Namespace [Text]
_ [Text
"FallingBackToPublicRootPeers"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
""
    documentFor (Namespace [Text]
_ [Text
"TraceLedgerPeersDomains"]) = Text -> Maybe Text
forall a. a -> Maybe a
Just
      Text
""
    documentFor (Namespace [Text]
_ [Text
"UsingBigLedgerPeerSnapshot"]) = 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
"Trace for when a request for big ledger peers is fulfilled from the snapshot file"
      , Text
" specified in the topology file."]
    documentFor Namespace TraceLedgerPeers
_ = Maybe Text
forall a. Maybe a
Nothing

    allNamespaces :: [Namespace TraceLedgerPeers]
allNamespaces = [
        [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedLedgerPeer"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedLedgerPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedBigLedgerPeer"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"PickedBigLedgerPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"FetchingNewLedgerState"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"DisabledLedgerPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TraceUseLedgerAfter"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"WaitingOnRequest"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"RequestForPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"ReusingLedgerState"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"FallingBackToPublicRootPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"NotEnoughLedgerPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"NotEnoughBigLedgerPeers"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"TraceLedgerPeersDomains"]
      , [Text] -> [Text] -> Namespace TraceLedgerPeers
forall a. [Text] -> [Text] -> Namespace a
Namespace [] [Text
"UsingBigLedgerPeerSnapshot"]
      ]