Skip to content

Commit a014211

Browse files
authored
Enable detailed monitoring for singleton actors (#3200)
This allows tracking the `mailbox-size` for those actors, while existing group-level monitoring only tracks `time-in-mailbox`.
1 parent 767bae8 commit a014211

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

eclair-core/src/main/scala/fr/acinq/eclair/Setup.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,14 +326,14 @@ class Setup(val datadir: File,
326326
}
327327

328328
watcher = {
329-
system.actorOf(SimpleSupervisor.props(Props(new ZMQActor(config.getString("bitcoind.zmqblock"), ZMQActor.Topics.HashBlock, Some(zmqBlockConnected))), "zmqblock", SupervisorStrategy.Restart))
330-
system.actorOf(SimpleSupervisor.props(Props(new ZMQActor(config.getString("bitcoind.zmqtx"), ZMQActor.Topics.RawTx, Some(zmqTxConnected))), "zmqtx", SupervisorStrategy.Restart))
329+
system.actorOf(SimpleSupervisor.props(Props(new ZMQActor(config.getString("bitcoind.zmqblock"), ZMQActor.Topics.HashBlock, Some(zmqBlockConnected))), "zmq-block", SupervisorStrategy.Restart))
330+
system.actorOf(SimpleSupervisor.props(Props(new ZMQActor(config.getString("bitcoind.zmqtx"), ZMQActor.Topics.RawTx, Some(zmqTxConnected))), "zmq-tx", SupervisorStrategy.Restart))
331331
val watcherBitcoinClient = if (config.getBoolean("bitcoind.batch-watcher-requests")) {
332332
new BitcoinCoreClient(new BatchingBitcoinJsonRPCClient(bitcoin), nodeParams.liquidityAdsConfig.lockUtxos)
333333
} else {
334334
new BitcoinCoreClient(bitcoin, nodeParams.liquidityAdsConfig.lockUtxos)
335335
}
336-
system.spawn(Behaviors.supervise(ZmqWatcher(nodeParams, blockHeight, watcherBitcoinClient)).onFailure(typed.SupervisorStrategy.resume), "watcher")
336+
system.spawn(Behaviors.supervise(ZmqWatcher(nodeParams, blockHeight, watcherBitcoinClient)).onFailure(typed.SupervisorStrategy.resume), "zmq-watcher")
337337
}
338338

339339
router = system.actorOf(SimpleSupervisor.props(Router.props(nodeParams, watcher, Some(routerInitialized)), "router", SupervisorStrategy.Resume))

eclair-node/src/main/resources/application.conf

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,32 @@ akka {
3434
kamon.instrumentation.akka {
3535
filters {
3636
actors {
37+
# Decides which actors will have metric tracking enabled. Beware that most of the time what you really need is to
38+
# track Actor groups instead of individual actors because wildly targetting actors can lead to cardinality issues.
39+
#
40+
track {
41+
includes = ${?kamon.instrumentation.akka.filters.actors.track.includes} [
42+
"**/blockchain-watchdog",
43+
"**/zmq-block",
44+
"**/zmq-tx",
45+
"**/zmq-watcher",
46+
"**/router",
47+
"**/front-router",
48+
"**/db-event-handler",
49+
"**/register",
50+
"**/payment-handler",
51+
"**/relayer",
52+
"**/switchboard",
53+
"**/client-spawner",
54+
"**/server",
55+
"**/payment-initiator",
56+
"**/autoprobe-count",
57+
"**/batching-client",
58+
"**/post-restart-htlc-cleaner"
59+
]
60+
excludes = [ "*/system/**", "*/user/IO-**" ]
61+
}
62+
3763
# Decides which actors generate Spans for the messages they process, given that there is already an ongoing trace
3864
# in the Context of the processed message (i.e. there is a Sampled Span in the Context).
3965
trace {

0 commit comments

Comments
 (0)