Skip to content

Commit aa4af36

Browse files
authored
Merge pull request #5453 from input-output-hk/jutaro/bench-config
nix: workbench tracing configuration
2 parents bda8dc0 + 995cb1d commit aa4af36

File tree

14 files changed

+111
-144
lines changed

14 files changed

+111
-144
lines changed

bench/locli/src/Cardano/Unlog/LogObject.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,11 +358,11 @@ interpreters = map3ple Map.fromList . unzip3 . fmap ent $
358358
, (,,,) "TraceBenchTxSubServAck" "TraceBenchTxSubServAck" "TraceBenchTxSubServAck" $
359359
\v -> LOTxsAcked <$> v .: "txIds"
360360

361-
, (,,,) "TraceTxSubmissionCollected" "TraceTxSubmissionCollected" "TraceTxSubmissionCollected" $
361+
, (,,,) "TraceTxSubmissionCollected" "TraceTxSubmissionCollected" "TxSubmission.TxInbound.Collected" $
362362
\v -> LOTxsCollected
363363
<$> v .: "count"
364364

365-
, (,,,) "TraceTxSubmissionProcessed" "TraceTxSubmissionProcessed" "TraceTxSubmissionProcessed" $
365+
, (,,,) "TraceTxSubmissionProcessed" "TraceTxSubmissionProcessed" "TxSubmission.TxInbound.Processed" $
366366
\v -> LOTxsProcessed
367367
<$> v .: "accepted"
368368
<*> v .: "rejected"
@@ -381,7 +381,7 @@ interpreters = map3ple Map.fromList . unzip3 . fmap ent $
381381
\_ -> pure LOMempoolRejectedTx
382382

383383
-- Generator:
384-
, (,,,) "TraceBenchTxSubSummary" "TraceBenchTxSubSummary" "TraceBenchTxSubSummary" $
384+
, (,,,) "TraceBenchTxSubSummary" "TraceBenchTxSubSummary" "Benchmark.BenchTxSubSummary" $
385385
\v -> do
386386
x :: Object <- v .: "summary"
387387
LOGeneratorSummary

bench/tx-generator/src/Cardano/Benchmarking/Tracer.hs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ initTxGenTracers mbForwarding = do
9595
configureTracers confState initialTraceConfig [tracer]
9696
pure $ Tracer (traceWith tracer)
9797

98-
benchTracer@(Tracer traceBench) <- mkTracer "benchmark"
99-
n2nSubmitTracer <- mkTracer "submitN2N"
100-
connectTracer <- mkTracer "connect"
101-
submitTracer <- mkTracer "submit"
98+
benchTracer@(Tracer traceBench) <- mkTracer "Benchmark"
99+
n2nSubmitTracer <- mkTracer "SubmitN2N"
100+
connectTracer <- mkTracer "Connect"
101+
submitTracer <- mkTracer "Submit"
102102

103103
traceBench $ TraceTxGeneratorVersion Version.txGeneratorVersion
104104

@@ -112,8 +112,9 @@ initTxGenTracers mbForwarding = do
112112
prepareForwardingTracer :: IO (Maybe (Trace IO FormattedMessage))
113113
prepareForwardingTracer = forM mbForwarding $
114114
\(iomgr, networkId, tracerSocket) -> do
115+
let forwardingConf = fromMaybe defaultForwarder (tcForwarder initialTraceConfig)
115116
(forwardSink :: ForwardSink TraceObject, dpStore) <-
116-
initForwarding iomgr (tcForwarder initialTraceConfig) (toNetworkMagic networkId) Nothing $ Just (tracerSocket, Initiator)
117+
initForwarding iomgr forwardingConf (toNetworkMagic networkId) Nothing $ Just (tracerSocket, Initiator)
117118

118119
-- we need to provide NodeInfo DataPoint, to forward generator's name
119120
-- to the acceptor application (for example, 'cardano-tracer').
@@ -161,7 +162,7 @@ initialTraceConfig = TraceConfig {
161162
, setMaxDetail "connect"
162163
, setMaxDetail "submit"
163164
]
164-
, tcForwarder = defaultForwarder
165+
, tcForwarder = Just defaultForwarder
165166
, tcNodeName = Nothing
166167
, tcPeerFrequency = Just 2000 -- Every 2 seconds
167168
, tcResourceFrequency = Just 1000 -- Every second
@@ -278,7 +279,7 @@ instance MetaTrace (TraceBenchTxSubmit TxId) where
278279
namespaceFor TraceBenchTxSubServCons {} = Namespace [] ["BenchTxSubServCons"]
279280
namespaceFor TraceBenchTxSubIdle {} = Namespace [] ["BenchTxSubIdle"]
280281
namespaceFor TraceBenchTxSubRateLimit {} = Namespace [] ["BenchTxSubRateLimit"]
281-
namespaceFor TraceBenchTxSubSummary {} = Namespace [] ["eBenchTxSubSummary"]
282+
namespaceFor TraceBenchTxSubSummary {} = Namespace [] ["BenchTxSubSummary"]
282283
namespaceFor TraceBenchTxSubDebug {} = Namespace [] ["BenchTxSubDebug"]
283284
namespaceFor TraceBenchTxSubError {} = Namespace [] ["BenchTxSubError"]
284285
namespaceFor TraceBenchPlutusBudgetSummary {} = Namespace [] ["BenchPlutusBudgetSummary"]
@@ -301,7 +302,7 @@ instance MetaTrace (TraceBenchTxSubmit TxId) where
301302
, Namespace [] ["BenchTxSubServCons"]
302303
, Namespace [] ["BenchTxSubIdle"]
303304
, Namespace [] ["BenchTxSubRateLimit"]
304-
, Namespace [] ["eBenchTxSubSummary"]
305+
, Namespace [] ["BenchTxSubSummary"]
305306
, Namespace [] ["BenchTxSubDebug"]
306307
, Namespace [] ["BenchTxSubError"]
307308
, Namespace [] ["BenchPlutusBudgetSummary"]

cardano-node/src/Cardano/Node/Tracing/API.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ initTraceDispatcher nc p networkMagic nodeKernel p2pMode = do
9595
-- TODO: check if this is the correct way to use withIOManager
9696
(forwardSink, dpStore) <- withIOManager $ \iomgr -> do
9797
let tracerSocketMode = Just . first unFile =<< ncTraceForwardSocket nc
98-
initForwarding iomgr (tcForwarder trConfig) networkMagic (Just ekgStore) tracerSocketMode
98+
forwardingConf = fromMaybe defaultForwarder (tcForwarder trConfig)
99+
initForwarding iomgr forwardingConf networkMagic (Just ekgStore) tracerSocketMode
99100
pure (forwardTracer forwardSink, dataPointTracer dpStore)
100101
else
101102
-- Since 'Forwarder' backend isn't enabled, there is no forwarding.

cardano-node/src/Cardano/Node/Tracing/Consistency.hs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ getAllNamespaces =
217217
blockFetchServerNS = map (nsGetComplete . nsReplacePrefix ["BlockFetch", "Server"])
218218
(allNamespaces :: [Namespace (TraceBlockFetchServerEvent blk)])
219219

220-
forgeKESInfoNS = map (nsGetComplete . nsReplacePrefix ["Forge"])
220+
forgeKESInfoNS = map (nsGetComplete . nsReplacePrefix ["Forge", "StateInfo"])
221221
(allNamespaces :: [Namespace (Consensus.TraceLabelCreds HotKey.KESInfo)])
222222
txInboundNS = map (nsGetComplete . nsReplacePrefix ["TxSubmission", "TxInbound"])
223223
(allNamespaces :: [Namespace (BlockFetch.TraceLabelPeer
@@ -236,14 +236,7 @@ getAllNamespaces =
236236
forgeNS = map (nsGetComplete . nsReplacePrefix ["Forge", "Loop"])
237237
(allNamespaces :: [Namespace (ForgeTracerType blk)])
238238

239-
-- TODO YUP
240-
-- forgeTr' <- mkCardanoTracer'
241-
-- trBase trForward mbTrEKG
242-
-- ["Forge", "ThreadStats"]
243-
-- forgeThreadStats
244-
-- configureTracers configReflection trConfig [forgeTr']
245-
-- forgeThreadStatsTrDoc <- documentTracer' forgeThreadStats (forgeTr' ::
246-
-- Trace IO (ForgeTracerType blk))
239+
forgeStateNS = [["Forge", "StateInfo"]]
247240

248241
blockchainTimeNS = map (nsGetComplete . nsReplacePrefix ["BlockchainTime"])
249242
(allNamespaces :: [Namespace (TraceBlockchainTimeEvent RelativeTime)])
@@ -380,7 +373,7 @@ getAllNamespaces =
380373
(allNamespaces :: [Namespace
381374
(InboundGovernorTrace Socket.SockAddr)])
382375
inboundGovernorTransitionsNS = map (nsGetComplete . nsReplacePrefix
383-
["Net", "InboundGovernor", "Remote", "Transition"])
376+
["Net", "InboundGovernor", "Transition"])
384377
(allNamespaces :: [Namespace
385378
(InboundGovernor.RemoteTransitionTrace Socket.SockAddr)])
386379
localConnectionManagerNS = map (nsGetComplete . nsReplacePrefix
@@ -449,7 +442,7 @@ getAllNamespaces =
449442
<> localTxSubmissionServerNS
450443
<> mempoolNS
451444
<> forgeNS
452-
-- <> forgeThreadStatsNS
445+
<> forgeStateNS
453446
<> blockchainTimeNS
454447
-- NodeToClient
455448
<> keepAliveClientNS

cardano-node/src/Cardano/Node/Tracing/DefaultTraceConfig.hs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ defaultCardanoConfig = emptyTraceConfig {
3636
[ ConfSeverity (SeverityF (Just Info))])
3737
,(["Forge", "Loop"],
3838
[ ConfSeverity (SeverityF (Just Info))])
39-
-- ,(["Forge", "KESInfo"],
40-
-- [ ConfSeverity (SeverityF (Just Info))])
39+
,(["Forge", "StateInfo"],
40+
[ ConfSeverity (SeverityF (Just Info))])
4141
,(["Net", "InboundGovernor", "Remote"],
4242
[ ConfSeverity (SeverityF (Just Info))])
4343
-- includes ["Net", "InboundGovernor", "Remote", "Transition"]
@@ -54,18 +54,18 @@ defaultCardanoConfig = emptyTraceConfig {
5454
,(["Resources"],
5555
[ ConfSeverity (SeverityF (Just Info))])
5656

57-
-- Limiters
58-
,(["ChainDB","AddBlockEvent","AddedBlockToQueue"],
59-
[ ConfLimiter 2.0])
60-
,(["ChainDB","AddBlockEvent","AddedBlockToVolatileDB"],
61-
[ ConfLimiter 2.0])
62-
,(["ChainDB","AddBlockEvent","AddBlockValidation", "ValidCandidate"],
63-
[ ConfLimiter 2.0])
64-
,(["ChainDB", "CopyToImmutableDBEvent", "CopiedBlockToImmutableDB"],
65-
[ ConfLimiter 2.0])
66-
,(["ChainSync","Client","DownloadedHeader"],
67-
[ ConfLimiter 2.0])
68-
,(["BlockFetch", "Client", "CompletedBlockFetch"],
69-
[ ConfLimiter 2.0])
57+
-- Limiters
58+
,(["ChainDB","AddBlockEvent","AddedBlockToQueue"],
59+
[ ConfLimiter 2.0])
60+
,(["ChainDB","AddBlockEvent","AddedBlockToVolatileDB"],
61+
[ ConfLimiter 2.0])
62+
,(["ChainDB","AddBlockEvent","AddBlockValidation", "ValidCandidate"],
63+
[ ConfLimiter 2.0])
64+
,(["ChainDB", "CopyToImmutableDBEvent", "CopiedBlockToImmutableDB"],
65+
[ ConfLimiter 2.0])
66+
,(["ChainSync","Client","DownloadedHeader"],
67+
[ ConfLimiter 2.0])
68+
,(["BlockFetch", "Client", "CompletedBlockFetch"],
69+
[ ConfLimiter 2.0])
7070
]
7171
}

cardano-node/src/Cardano/Node/Tracing/Documentation.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ docTracers configFileName outputFileName _ _ _ = do
297297

298298
forgeKESInfoTr <- mkCardanoTracer
299299
trBase trForward mbTrEKG
300-
["Forge"]
300+
["Forge", "StateInfo"]
301301
configureTracers configReflection trConfig [forgeKESInfoTr]
302302
forgeKESInfoTrDoc <- documentTracer (forgeKESInfoTr ::
303303
Trace IO (Consensus.TraceLabelCreds HotKey.KESInfo))
@@ -585,7 +585,7 @@ docTracers configFileName outputFileName _ _ _ = do
585585

586586
inboundGovernorTransitionsTr <- mkCardanoTracer
587587
trBase trForward mbTrEKG
588-
["Net", "InboundGovernor", "Remote", "Transition"]
588+
["Net", "InboundGovernor", "Transition"]
589589
configureTracers configReflection trConfig [inboundGovernorTransitionsTr]
590590
inboundGovernorTransitionsTrDoc <- documentTracer (inboundGovernorTransitionsTr ::
591591
Trace IO (InboundGovernor.RemoteTransitionTrace Socket.SockAddr))

cardano-node/src/Cardano/Node/Tracing/Tracers.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ mkConsensusTracers configReflection trBase trForward mbTrEKG _trDataPoint trConf
257257

258258
!forgeKESInfoTr <- mkCardanoTracer
259259
trBase trForward mbTrEKG
260-
["Forge"]
260+
["Forge", "StateInfo"]
261261
configureTracers configReflection trConfig [forgeKESInfoTr]
262262

263263
!txInboundTr <- mkCardanoTracer
@@ -548,7 +548,7 @@ mkDiffusionTracersExtra configReflection trBase trForward mbTrEKG _trDataPoint t
548548

549549
!connectionManagerTransitionsTr <- mkCardanoTracer
550550
trBase trForward mbTrEKG
551-
["Net", "ConnectionManager", "Remote"]
551+
["Net", "ConnectionManager", "Transition"]
552552
configureTracers configReflection trConfig [connectionManagerTransitionsTr]
553553

554554
!serverTr <- mkCardanoTracer

cardano-tracer/src/Cardano/Tracer/MetaTrace.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ mkTracerTracer defSeverity = do
186186
initialTraceConfig :: TraceConfig
187187
initialTraceConfig =
188188
TraceConfig
189-
{ tcForwarder = defaultForwarder
189+
{ tcForwarder = Nothing
190190
, tcNodeName = Nothing
191191
, tcPeerFrequency = Nothing
192192
, tcResourceFrequency = Nothing

cardano-tracer/test/cardano-tracer-test-ext.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import qualified Data.List as L
1212
import Data.Maybe (fromMaybe)
1313
import Data.Monoid
1414
import qualified System.Directory as Sys
15-
import System.Environment (setEnv, unsetEnv, lookupEnv)
15+
import System.Environment (lookupEnv, setEnv, unsetEnv)
1616
import qualified System.IO as Sys
1717
import System.PosixCompat.Files (fileExist)
1818
import qualified System.Process as Sys
@@ -128,5 +128,6 @@ getExternalTracerState TestSetup{..} ref = do
128128
-- For simplicity, we are always 'Initiator',
129129
-- so 'cardano-tracer' is always a 'Responder'.
130130
let tracerSocketMode = Just (unI tsSockExternal, Initiator)
131-
initForwarding iomgr (tcForwarder simpleTestConfig) (unI tsNetworkMagic) Nothing tracerSocketMode
131+
forwardingConf = fromMaybe defaultForwarder (tcForwarder simpleTestConfig)
132+
initForwarding iomgr forwardingConf (unI tsNetworkMagic) Nothing tracerSocketMode
132133
pure (externalTracerHdl, forwardTracer forwardSink)

nix/workbench/service/tracing.nix

Lines changed: 59 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -27,55 +27,65 @@ let
2727
"Forwarder";
2828
};
2929

30-
## These are comparision-specific config deviations from the default.
31-
##
32-
## "Resources".backends = ["EKGBackend"];
33-
34-
"Net.AcceptPolicy".severity = "Info";
35-
"BlockFetch.Client".severity = "Info";
36-
"BlockFetch.Server".severity = "Info";
37-
"ChainDB".severity = "Info";
38-
"ChainSync.Client".severity = "Info";
39-
"ChainSync.ServerBlock".severity = "Info";
40-
"ChainSync.ServerHeader".severity = "Info";
41-
"Forge.Loop".severity = "Info";
42-
"Net.ConnectionManager".severity = "Info";
43-
"Net.Startup.DiffusionInit".severity = "Info";
44-
"Net.DNSResolver".severity = "Info";
45-
"Net.ErrorPolicy".severity = "Info";
46-
"Net.InboundGovernor".severity = "Info";
47-
"Net.Subscription.DNS".severity = "Info";
48-
"Net.Subscription.IP".severity = "Info";
49-
"Net.Peers".severity = "Info";
50-
"Net.PeerSelection".severity = "Info";
51-
"Net.Server".severity = "Info";
52-
"Mempool".severity = "Info";
53-
"Resources".severity= "Info";
54-
"TxSubmission.TxInbound".severity = "Info";
55-
56-
"ChainDB.FollowerEvent.NewFollower".severity = "Debug";
57-
"ChainDB.FollowerEvent.FollowerNoLongerInMem".severity = "Debug";
58-
"ChainDB.AddBlockEvent.AddedBlockToQueue".severity = "Debug";
59-
"ChainDB.IteratorEvent.StreamFromVolatileDB".severity = "Debug";
60-
"ChainDB.GCEvent.PerformedGC".severity = "Debug";
61-
"ChainDB.GCEvent.ScheduledGC".severity = "Debug";
62-
"ChainDB.ImmDbEvent.CacheEvent.CurrentChunkHit".severity = "Debug";
63-
"ChainDB.ImmDbEvent.CacheEvent.PastChunkHit".severity = "Debug";
64-
"Forge.Loop.BlockContext".severity = "Debug";
65-
"Forge.Loop.LedgerState".severity = "Debug";
66-
"Forge.Loop.LedgerView".severity = "Debug";
67-
"Forge.Loop.ForgingMempoolSnapshot".severity = "Debug";
68-
"Forge.Loop.ForgeTickedLedgerState".severity = "Debug";
69-
"TxSubmission.TxInbound.CanRequestMoreTxs".severity = "Debug";
70-
"TxSubmission.TxInbound.CannotRequestMoreTxs".severity = "Debug";
71-
"TxSubmission.TxInbound.Collected".severity = "Debug";
72-
"TxSubmission.TxInbound.Processed".severity = "Debug";
73-
74-
"TraceBenchTxSubServAck".severity = "Debug";
75-
"TraceBenchTxSubSummary".severity = "Debug";
76-
"TraceTxSubmissionCollected".severity = "Debug";
77-
"TraceTxSubmissionProcessed".severity = "Debug";
78-
};
30+
## This is a list with all tracers, adopted to the on and off state
31+
## in old tracing
32+
"BlockFetch.Client".severity = "Debug";
33+
"BlockFetch.Decision".severity = "Notice";
34+
"BlockFetch.Remote".severity = "Notice";
35+
"BlockFetch.Remote.Serialised".severity = "Notice";
36+
"BlockFetch.Server".severity = "Debug";
37+
"BlockchainTime".severity = "Notice";
38+
"ChainDB".severity = "Debug";
39+
"ChainDB.ReplayBlock.LedgerReplay".severity = "Notice";
40+
"ChainSync.Client".severity = "Debug";
41+
"ChainSync.Local".severity = "Notice";
42+
"ChainSync.Remote".severity = "Notice";
43+
"ChainSync.Remote.Serialised".severity = "Notice";
44+
"ChainSync.ServerBlock".severity = "Notice";
45+
"ChainSync.ServerHeader".severity = "Debug";
46+
"Forge.Loop".severity = "Debug";
47+
"Forge.StateInfo".severity = "Debug";
48+
"Mempool".severity = "Debug";
49+
"Net".severity = "Notice";
50+
"Net.AcceptPolicy".severity = "Debug";
51+
"Net.ConnectionManager.Local".severity = "Debug";
52+
"Net.ConnectionManager.Remote".severity = "Debug";
53+
"Net.DNSResolver".severity = "Notice";
54+
"Net.ErrorPolicy.Local".severity = "Debug";
55+
"Net.ErrorPolicy.Remote".severity = "Debug";
56+
"Net.Handshake.Local".severity = "Debug";
57+
"Net.Handshake.Remote".severity = "Debug";
58+
"Net.InboundGovernor.Local".severity = "Debug";
59+
"Net.InboundGovernor.Remote".severity = "Debug";
60+
"Net.InboundGovernor.Transition".severity = "Debug";
61+
"Net.Mux.Local".severity = "Notice";
62+
"Net.Mux.Remote".severity = "Notice";
63+
"Net.PeerSelection.Actions".severity = "Debug";
64+
"Net.PeerSelection.Counters".severity = "Debug";
65+
"Net.PeerSelection.Initiator".severity = "Notice";
66+
"Net.PeerSelection.Responder".severity = "Notice";
67+
"Net.PeerSelection.Selection".severity = "Debug";
68+
"Net.Peers.Ledger".severity = "Debug";
69+
"Net.Peers.List".severity = "Notice";
70+
"Net.Peers.LocalRoot".severity = "Debug";
71+
"Net.Peers.PublicRoot".severity = "Debug";
72+
"Net.Server.Local".severity = "Debug";
73+
"Net.Server.Remote".severity = "Debug";
74+
"Net.Subscription.DNS".severity = "Debug";
75+
"Net.Subscription.IP".severity = "Debug";
76+
"NodeState".severity = "Notice";
77+
"Resources".severity = "Debug";
78+
"Shutdown".severity = "Notice";
79+
"Startup".severity = "Notice";
80+
"Startup.DiffusionInit".severity = "Debug";
81+
"StateQueryServer".severity = "Notice";
82+
"TxSubmission.Local".severity = "Notice";
83+
"TxSubmission.LocalServer".severity = "Notice";
84+
"TxSubmission.MonitorClient".severity = "Notice";
85+
"TxSubmission.Remote".severity = "Notice";
86+
"TxSubmission.TxInbound".severity = "Debug";
87+
"TxSubmission.TxOutbound".severity = "Notice";
88+
};
7989
};
8090

8191

0 commit comments

Comments
 (0)