Skip to content

Commit

Permalink
Diffusion initialization logging.
Browse files Browse the repository at this point in the history
  • Loading branch information
newhoggy committed Nov 19, 2020
1 parent 2027e15 commit 3c6e244
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 9 deletions.
4 changes: 2 additions & 2 deletions cabal.project
Expand Up @@ -159,8 +159,8 @@ source-repository-package
source-repository-package
type: git
location: https://github.com/input-output-hk/ouroboros-network
tag: 35c5950088a7c9fc725868f1e68a2f3bf14f0595
--sha256: 1xizr0r36xnsmkcd1p0c9m1bj918n5bja1p6y30qrbxsph5wn94v
tag: ed33688d3bc2283d90446cd59c0453f4cf94cb0a
--sha256: 0s0d2wxgsb8p63va0lfw1hscv35qh8k9k57hyj9xv188m5ryc1x1
subdir:
io-sim
io-sim-classes
Expand Down
1 change: 1 addition & 0 deletions cardano-node/src/Cardano/Node/Run.hs
Expand Up @@ -274,6 +274,7 @@ handleSimpleNode p trace nodeTracers nc onKernel = do
, dtMuxLocalTracer = nullTracer
, dtHandshakeTracer = handshakeTracer nodeTracers'
, dtHandshakeLocalTracer = localHandshakeTracer nodeTracers'
, dtDiffusionInitializationTracer = diffusionInitializationTracer nodeTracers'
}

createTracers
Expand Down
5 changes: 5 additions & 0 deletions cardano-node/src/Cardano/Tracing/Config.hs
Expand Up @@ -40,6 +40,7 @@ type TraceChainSyncClient = ("TraceChainSyncClient" :: Symbol)
type TraceChainSyncBlockServer = ("TraceChainSyncBlockServer" :: Symbol)
type TraceChainSyncHeaderServer = ("TraceChainSyncHeaderServer" :: Symbol)
type TraceChainSyncProtocol = ("TraceChainSyncProtocol" :: Symbol)
type TraceDiffusionInitialization = ("TraceDiffusionInitialization" :: Symbol)
type TraceDnsResolver = ("TraceDnsResolver" :: Symbol)
type TraceDnsSubscription = ("TraceDnsSubscription" :: Symbol)
type TraceErrorPolicy = ("TraceErrorPolicy" :: Symbol)
Expand Down Expand Up @@ -86,6 +87,7 @@ data TraceSelection
, traceChainSyncClient :: OnOff TraceChainSyncClient
, traceChainSyncHeaderServer :: OnOff TraceChainSyncHeaderServer
, traceChainSyncProtocol :: OnOff TraceChainSyncProtocol
, traceDiffusionInitialization :: OnOff TraceDiffusionInitialization
, traceDnsResolver :: OnOff TraceDnsResolver
, traceDnsSubscription :: OnOff TraceDnsSubscription
, traceErrorPolicy :: OnOff TraceErrorPolicy
Expand Down Expand Up @@ -134,6 +136,8 @@ traceConfigParser v =
chainSyncHeaderServer = OnOff False
chainSyncProtocol :: OnOff TraceChainSyncProtocol
chainSyncProtocol = OnOff False
diffusionInitialization :: OnOff TraceDiffusionInitialization
diffusionInitialization = OnOff False
dnsResolver :: OnOff TraceDnsResolver
dnsResolver = OnOff False
dnsSubscription :: OnOff TraceDnsSubscription
Expand Down Expand Up @@ -188,6 +192,7 @@ traceConfigParser v =
<*> v .:? getName chainSyncClient .!= chainSyncClient
<*> v .:? getName chainSyncHeaderServer .!= chainSyncHeaderServer
<*> v .:? getName chainSyncProtocol .!= chainSyncProtocol
<*> v .:? getName diffusionInitialization .!= diffusionInitialization
<*> v .:? getName dnsResolver .!= dnsResolver
<*> v .:? getName dnsSubscription .!= dnsSubscription
<*> v .:? getName errorPolicy .!= errorPolicy
Expand Down
13 changes: 6 additions & 7 deletions cardano-node/src/Cardano/Tracing/OrphanInstances/HardFork.hs
Expand Up @@ -27,18 +27,18 @@ import Cardano.Tracing.OrphanInstances.Common
import Cardano.Tracing.OrphanInstances.Consensus ()

import Cardano.Slotting.Slot (EpochSize (..))
import Ouroboros.Consensus.Block (BlockProtocol, CannotForge,
ForgeStateInfo, ForgeStateUpdateError)
import Ouroboros.Consensus.Block (BlockProtocol, CannotForge, ForgeStateInfo,
ForgeStateUpdateError)
import Ouroboros.Consensus.BlockchainTime (getSlotLength)
import Ouroboros.Consensus.Cardano.Condense ()
import Ouroboros.Consensus.HardFork.Combinator
import Ouroboros.Consensus.HardFork.Combinator.AcrossEras (EraMismatch (..),
OneEraCannotForge (..), OneEraEnvelopeErr (..), OneEraLedgerError (..),
OneEraCannotForge (..), OneEraEnvelopeErr (..), OneEraForgeStateInfo (..),
OneEraForgeStateUpdateError (..), OneEraLedgerError (..),
OneEraLedgerUpdate (..), OneEraLedgerWarning (..), OneEraValidationErr (..),
OneEraForgeStateInfo (..), OneEraForgeStateUpdateError (..), mkEraMismatch)
mkEraMismatch)
import Ouroboros.Consensus.HardFork.Combinator.Condense ()
import Ouroboros.Consensus.HardFork.History.EraParams (EraParams (..), SafeBeforeEpoch,
SafeZone)
import Ouroboros.Consensus.HardFork.History.EraParams (EraParams (..), SafeZone)
import Ouroboros.Consensus.HeaderValidation (OtherHeaderEnvelopeError)
import Ouroboros.Consensus.Ledger.Abstract (LedgerError)
import Ouroboros.Consensus.Ledger.Inspect (LedgerUpdate, LedgerWarning)
Expand Down Expand Up @@ -198,7 +198,6 @@ instance ToObject EraParams where
]

deriving instance ToJSON SafeZone
deriving instance ToJSON SafeBeforeEpoch


--
Expand Down
50 changes: 50 additions & 0 deletions cardano-node/src/Cardano/Tracing/OrphanInstances/Network.hs
Expand Up @@ -53,13 +53,19 @@ import Ouroboros.Network.Subscription (ConnectResult (..), DnsTrace (.
import Ouroboros.Network.TxSubmission.Inbound (TraceTxSubmissionInbound (..))
import Ouroboros.Network.TxSubmission.Outbound (TraceTxSubmissionOutbound (..))

import qualified Ouroboros.Network.Diffusion as ND

{- HLINT ignore "Use record patterns" -}

--
-- * instances of @HasPrivacyAnnotation@ and @HasSeverityAnnotation@
--
-- NOTE: this list is sorted by the unqualified name of the outermost type.

instance HasPrivacyAnnotation ND.DiffusionInitializationTracer
instance HasSeverityAnnotation ND.DiffusionInitializationTracer where
getSeverityAnnotation _ = Info

instance HasPrivacyAnnotation NtC.HandshakeTr
instance HasSeverityAnnotation NtC.HandshakeTr where
getSeverityAnnotation _ = Info
Expand Down Expand Up @@ -288,6 +294,11 @@ instance HasSeverityAnnotation (WithMuxBearer peer MuxTrace) where
--
-- NOTE: this list is sorted by the unqualified name of the outermost type.

instance Transformable Text IO ND.DiffusionInitializationTracer where
trTransformer = trStructuredText
instance HasTextFormatter ND.DiffusionInitializationTracer where
formatText _ = pack . show . toList

instance Transformable Text IO NtN.HandshakeTr where
trTransformer = trStructuredText
instance HasTextFormatter NtN.HandshakeTr where
Expand Down Expand Up @@ -465,6 +476,45 @@ instance ToObject (FetchDecision [Point header]) where
, "length" .= String (pack $ show $ length results)
]

instance ToObject ND.DiffusionInitializationTracer where
toObject _verb ND.RunServer = mkObject
[ "kind" .= String "RunServer"
]
toObject _verb (ND.CreatingSystemdSocketForUnixPath path) = mkObject
[ "kind" .= String "CreatingSystemdSocketForUnixPath"
, "path" .= String (pack path)
]

toObject _verb (ND.CreateSystemdSocketForSnocketPath path) = mkObject
[ "kind" .= String "CreateSystemdSocketForSnocketPath"
, "path" .= String (pack path)
]
toObject _verb (ND.CreatedSystemdSocketForSnocketPath path) = mkObject
[ "kind" .= String "CreatedSystemdSocketForSnocketPath"
, "path" .= String (pack path)
]
toObject _verb (ND.BindingToSocket path socket) = mkObject
[ "kind" .= String "BindingToSocket"
, "path" .= String (pack path)
, "socket" .= String (pack socket)
]
toObject _verb (ND.ListeningToSocket path socket) = mkObject
[ "kind" .= String "ListeningToSocket"
, "path" .= String (pack path)
, "socket" .= String (pack socket)
]
toObject _verb (ND.CreatingServerSocket socket) = mkObject
[ "kind" .= String "CreatingServerSocket"
, "socket" .= String (pack (show socket))
]
toObject _verb (ND.BindingServerSocket socket) = mkObject
[ "kind" .= String "BindingServerSocket"
, "socket" .= String (pack (show socket))
]
toObject _verb (ND.UnsupportedSystemdSocket path) = mkObject
[ "kind" .= String "UnsupportedSystemdSocket"
, "path" .= String (pack (show path))
]

instance ToObject NtC.HandshakeTr where
toObject _verb (WithMuxBearer b ev) =
Expand Down
6 changes: 6 additions & 0 deletions cardano-node/src/Cardano/Tracing/Tracers.hs
Expand Up @@ -91,6 +91,8 @@ import Cardano.Tracing.Queries
import Cardano.Node.Protocol.Byron ()
import Cardano.Node.Protocol.Shelley ()

import qualified Ouroboros.Network.Diffusion as ND

{- HLINT ignore "Redundant bracket" -}
{- HLINT ignore "Use record patterns" -}

Expand Down Expand Up @@ -119,6 +121,7 @@ data Tracers peer localPeer blk = Tracers
, muxTracer :: Tracer IO (WithMuxBearer peer MuxTrace)
, handshakeTracer :: Tracer IO NtN.HandshakeTr
, localHandshakeTracer :: Tracer IO NtC.HandshakeTr
, diffusionInitializationTracer :: Tracer IO ND.DiffusionInitializationTracer
}

data ForgeTracers = ForgeTracers
Expand Down Expand Up @@ -151,6 +154,7 @@ nullTracers = Tracers
, muxTracer = nullTracer
, handshakeTracer = nullTracer
, localHandshakeTracer = nullTracer
, diffusionInitializationTracer = nullTracer
}


Expand Down Expand Up @@ -296,6 +300,7 @@ mkTracers tOpts@(TracingOn trSel) tr nodeKern = do
, muxTracer = tracerOnOff (traceMux trSel) verb "Mux" tr
, handshakeTracer = tracerOnOff (traceHandshake trSel) verb "Handshake" tr
, localHandshakeTracer = tracerOnOff (traceLocalHandshake trSel) verb "LocalHandshake" tr
, diffusionInitializationTracer = tracerOnOff (traceDiffusionInitialization trSel) verb "DiffusionInitializationTracer" tr
}
where
verb :: TracingVerbosity
Expand Down Expand Up @@ -341,6 +346,7 @@ mkTracers TracingOff _ _ =
, muxTracer = nullTracer
, handshakeTracer = nullTracer
, localHandshakeTracer = nullTracer
, diffusionInitializationTracer = nullTracer
}

--------------------------------------------------------------------------------
Expand Down

0 comments on commit 3c6e244

Please sign in to comment.