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(issue-253): initial metrics implementation #686

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

0xste
Copy link

@0xste 0xste commented Sep 24, 2024

📝 Summary

An initial prometheus http server exposed optionally on a custom port if flag is provided at runtime.

⛱ Motivation and Context

As per discussion on: #294 (comment) i've reduced the scope of the change to be as minimal as possible and look to incrementally add additional metrics over time to de-risk the implementation

Following the step 1 recommendation on: #253 (comment)

📚 References

#253


✅ I have run these commands

  • make lint
  • make test-race
  • go mod tidy

cli/main.go Show resolved Hide resolved
@0xste 0xste force-pushed the feat/issue-253 branch 4 times, most recently from 0a730ba to 65d48a5 Compare September 25, 2024 09:30
@n0price
Copy link

n0price commented Oct 4, 2024

Are you planning expose MEV Boost metrics?

@0xste
Copy link
Author

0xste commented Oct 4, 2024

Are you planning expose MEV Boost metrics?

Yes! i'd proposed a full integration that was rejected here a while back #294 on the grounds of the changes being too deep into the codebase

These changes are deep and extensive into the core system and logic. Considering that mev-boost is run at 50% of all validators, it is too risky and impactful for adding a large amount of new logic in the core flows at the current time.
Perhaps consider collecting the metrics from the logs, or thinking about a possible plugin interface. 🤔

This MR is step 1 of the recommendation instrumentation is introduced gradually to reduce operator risk

I propose we implement this change in stages to de-risk the implementation

  1. Implement the standalone server on the new port and expose only default metrics about the go runtime
  2. Implement metrics for HTTP Server interaction
  3. Implement basic metrics for internal MEV details
  4. More advanced MEV statistics

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

Successfully merging this pull request may close these issues.

2 participants