feat: add monitoring for signer agreement state conflict #6008
+39
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change implement prometheus monitoring metrics for signer agreement state conflict.
Basically counting the times the current signer is in conflict with the signer set due to: Burn Block Delay, Stacks Block Delay, Miner View.
Futhermore, monitoring about Signer state upgrade (started in this PR #5981) has been completed collecting the Protocol Upgrade state
Applicable issues
Additional info (benefits, drawbacks, caveats)
About the conflict "Stacks Block Delay", I'm not sure where to collect it. Any guidance would be helpful.
Eventually, we could also:
SignerAgreementStateChangeReason
) to take into account the case where the signer capitulate on the miner viewpoint:stacks-core/stacks-signer/src/v0/signer_state.rs
Lines 819 to 830 in 9d4cc3a
LocalStateMachine::capitulate_viewpoint(..)
method, if the signer can just capitulate once per tenure and considering only the case where some state changes exists)Checklist
docs/rpc/openapi.yaml
andrpc-endpoints.md
for v2 endpoints,event-dispatcher.md
for new events)clarity-benchmarking
repobitcoin-tests.yml