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

[metrics] gather host-level metrics during testing #17

Open
bitwiseguy opened this issue Oct 28, 2024 · 1 comment
Open

[metrics] gather host-level metrics during testing #17

bitwiseguy opened this issue Oct 28, 2024 · 1 comment

Comments

@bitwiseguy
Copy link
Collaborator

We should track host-level metrics such as memory usage, disk usage, cpu usage, etc and combine that with the existing block processing time data replayor is already collecting to give a more holistic view of how the execution client is performing. The following metrics are provided by geth and would be of interest:

  • Memory usage: Tracks memory allocations, frees, and total usage
  • CPU usage: Measures CPU utilization by Geth and the overall system
  • Disk usage: Monitors disk read/write operations and chaindata size
  • Database operations: Measures read/write operations to the chaindata
  • Database size: Tracks the size of the chaindata directory
  • Block processing: Measures block import times and rates

Consider integrating with go flight recorder but would need to consider how to support reth / other clients that don't use golang.

Should make this data format compatible with Grafana

@GrapeBaBa
Copy link

@bitwiseguy There are some uncertainties. It appears that node_exporter can be used to gather host metrics. Prometheus combined with Grafana is suitable for visualizing client-specific metrics. The Go flight recorder serves as a trace/profile tool for pinpointing program performance bottlenecks, which doesn't directly relate to metrics. So, what is the reasoning behind integrating it?

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