Skip to content

core, ethdb, metrics, p2p: expose various counter metrics for grafana #19692

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

Merged
merged 1 commit into from
Jun 11, 2019
Merged

core, ethdb, metrics, p2p: expose various counter metrics for grafana #19692

merged 1 commit into from
Jun 11, 2019

Conversation

karalabe
Copy link
Member

@karalabe karalabe commented Jun 10, 2019

While porting over our Datadog metrics to a Grafana dashboard I've hit various missing data. Turned out that on Datadog we have access to the RPC APIs too (as well as the datadog agent on the host), so we used those to pull various infos. That is problematic if we use InfluxDB/Prometheus + Grafana, because those won't have RPC calling capabilities, nor local agents beside Geth.

This PR tries to surface the required counters through the proper metrics subsysem:

  • Track the head header, receipt and block via gauges. This gives us access to the sync status without RPC.
  • Track the pending, queued and local transactions via counters. This gives us access to txpool stats without RPC.
  • Track memory usage and database/freezer sizes. This gives us access to some general system stats without a local agent running side-by-side with Geth.

This PR permits the below Grafana charts:

Screenshot from 2019-06-10 13-14-08

@karalabe karalabe added this to the 1.9.0 milestone Jun 10, 2019
Copy link
Contributor

@holiman holiman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Once it's merged, let's find out the quirks by showing it side by side with our ddog charts. Won't be exact, though, since some meters are redefined from counters into meters, and some have changed namespace

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