Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Node] heartbeat for miner and relayer diagnostics #5742

Open
jcnelson opened this issue Jan 24, 2025 · 0 comments
Open

[Node] heartbeat for miner and relayer diagnostics #5742

jcnelson opened this issue Jan 24, 2025 · 0 comments
Assignees

Comments

@jcnelson
Copy link
Member

jcnelson commented Jan 24, 2025

In the event that a miner stalls or misbehaves, we have no insight into why, since we don't have (and shouldn't have) their logs.

To address this, mining nodes could emit a periodic "heartbeat" message with diagnostic information to its event observer endpoint. To make it so that other nodes in the network can see remote miners' heartbeats, we should propagate the heartbeat information via a StackerDB replica, which monitoring software can subscribe to.

One way to do this in an incremental fashion without requiring any new message types or StackerDB replicas would be to simply re-purpose the mock miner proposal slots in the .miners StackerDB to instead propagate heartbeat messages from the running miner. The heartbeat message contents are TBD, but we do know that the miner and relayer threads in the mining node contain the relevant information we'd want to propagate.

The mining node would need to send heartbeat messages on a fixed cadence (so their absence or delay would itself be a notable event), and do so regardless of whether or not the node is currently mining.

@jcnelson jcnelson self-assigned this Jan 24, 2025
@github-project-automation github-project-automation bot moved this to Status: 🆕 New in Stacks Core Eng Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Status: 🆕 New
Development

No branches or pull requests

1 participant