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

feat(derive): Metrics #721

Open
1 of 3 tasks
refcell opened this issue Oct 21, 2024 · 2 comments
Open
1 of 3 tasks

feat(derive): Metrics #721

refcell opened this issue Oct 21, 2024 · 2 comments
Assignees

Comments

@refcell
Copy link
Collaborator

refcell commented Oct 21, 2024

Description

Metrics in kona-derive are a set of prometheus types that are spread across the pipeline stages using helper macros. The helper macros handle feature flagging since metrics are not available by default.

We want to provide a more stable and structured way for pipeline consumers to handle metrics.
Each stage should define its own metrics through a trait abstraction.
By default, pipeline construction will provide no-op implementations.

Output

  • Remove current metrics in kona-derive.
  • Introduce stage-wise metricer traits with Noop Implementations.
  • Introduce a metrics module with prometheus-backed metric collection.
@steph-rs
Copy link
Contributor

hey, can I take it? 🙏

@refcell
Copy link
Collaborator Author

refcell commented Oct 29, 2024

hey, can I take it? 🙏

That would be excellent @steph-rs - I've assigned you to the issue! We've already removed metrics from kona-derive and kona-derive-alloy. (See linked PRs below). The next step is basically to introduce a metricer trait that is able to consume metrics. I'd suggest to start by adding metrics to the top-level DerivationPipeline. Some useful metrics may be:

Feel free to ask for help or guidance whenever. Some motivation for why we need this is to provide a dashboard in op-rs with metrics for the derivation pipeline part of the consensus client (aka hera binary).

Metrics removal PRs for reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants