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

Add metrics for chain fork work and lengths #5297

Open
teor2345 opened this issue Sep 28, 2022 · 9 comments
Open

Add metrics for chain fork work and lengths #5297

teor2345 opened this issue Sep 28, 2022 · 9 comments
Labels
A-diagnostics Area: Diagnosing issues or monitoring performance A-state Area: State / database changes C-feature Category: New features E-help-wanted Call for participation: Help is requested to fix this issue. S-blocked Status: Blocked on other tasks

Comments

@teor2345
Copy link
Collaborator

teor2345 commented Sep 28, 2022

Motivation

The ZIP editors asked for the following Zebra metrics:

  • histogram of chain work for all recent chain forks
  • histogram of tip heights for all recent chain forks
  • histogram of non-finalized lengths for all recent chain forks
  • histogram of fork heights for all recent chain forks
  • histogram of fork lengths (tip height - fork height)
  • all the above metrics as a gauge for the best chain only

In #6235, we added APIs for these metrics, but we need to track them using prometheus in this ticket:

  • fork heights
  • fork lengths

We already implement these metrics

  • number of recent forks
  • some of the above metrics (for the best chain only)

zcashd is currently unable to track these metrics, because it doesn't seek out multiple chains in parallel.

@teor2345 teor2345 added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-Medium ⚡ A-diagnostics Area: Diagnosing issues or monitoring performance A-state Area: State / database changes C-feature Category: New features labels Sep 28, 2022
@mpguerra
Copy link
Contributor

When would they like these by? The earliest I would schedule these would be next sprint (21) and only if the release candidate work is complete

@daira
Copy link
Contributor

daira commented Sep 29, 2022

This is for ZIP 315, to verify whether the recommended "trusted" and "untrusted" confirmation depths make sense and to provide supporting rationale. So not immediately urgent.

@teor2345
Copy link
Collaborator Author

teor2345 commented Oct 2, 2022

This is blocked by PR #5257 merging, because it changes some of the same code as this ticket.

@mpguerra
Copy link
Contributor

@mpguerra
Copy link
Contributor

tentatively scheduling this for after the GBT work

@teor2345
Copy link
Collaborator Author

Some of these changes are already made in PR #6235, when I get time, I'll split them out into a separate PR.

@teor2345 teor2345 added S-blocked Status: Blocked on other tasks P-Low ❄️ and removed C-enhancement Category: This is an improvement P-Medium ⚡ labels Mar 27, 2023
@teor2345
Copy link
Collaborator Author

Some of these changes are already made in PR #6235, when I get time, I'll split them out into a separate PR.

I updated this ticket with the new metrics APIs that are part of #6235, and the extra things we need to do in this ticket.

@teor2345
Copy link
Collaborator Author

teor2345 commented May 5, 2023

We probably want to delay this until after we've renamed some parts of the state in response to an audit finding.

@teor2345
Copy link
Collaborator Author

teor2345 commented Jul 2, 2023

This might also depend on #7109, because at the moment we're storing the partial work of the fork, not the cumulative work of the entire chain.

@teor2345 teor2345 added the E-help-wanted Call for participation: Help is requested to fix this issue. label Jan 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Diagnosing issues or monitoring performance A-state Area: State / database changes C-feature Category: New features E-help-wanted Call for participation: Help is requested to fix this issue. S-blocked Status: Blocked on other tasks
Projects
Status: New
Development

No branches or pull requests

3 participants