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 initial peer network protocol versions #2804

Merged
merged 7 commits into from
Sep 29, 2021

Conversation

teor2345
Copy link
Contributor

@teor2345 teor2345 commented Sep 28, 2021

Motivation

As part of ticket #2797, we want to check the network protocol versions of the peers supplied by the Zcash DNS seeders.

Designs

Zebra already has this information, we just need to add it to the logs and metrics.

Solution

Seed Peer DNS Resolution:

  • log the initial peers resolved from each seed
  • add metrics for initial peer resolution, including the seed and remote peer IP
  • add a grafana dashboard for seed peer resolution
  • add a per-seed filter to the peer dashboard

Network Protocol Versions

  • add tracing and metrics for peer network protocol versions
  • add network protocol versions to peers dashboard
  • show peer network protocol versions for each seeder in the peer dashboard

Review

Anyone can review this PR, but I think @conradoplg or @upbqdn have set up a Grafana instance already?

Merging this PR isn't urgent.

Reviewer Checklist

  • Code records metrics and logs correctly
  • Dashboards work

Follow Up Work

@teor2345 teor2345 added A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement NU-5 Network Upgrade: NU5 specific tasks P-Medium A-network Area: Network protocol updates or fixes labels Sep 28, 2021
@teor2345 teor2345 self-assigned this Sep 28, 2021
@teor2345 teor2345 force-pushed the net-proto-vers-metrics branch 2 times, most recently from 4c8ba0d to 54d94a7 Compare September 29, 2021 01:36
@teor2345 teor2345 force-pushed the net-proto-vers-metrics branch from 54d94a7 to d8e7493 Compare September 29, 2021 01:43
@teor2345 teor2345 marked this pull request as ready for review September 29, 2021 01:43
@teor2345
Copy link
Contributor Author

teor2345 commented Sep 29, 2021

This is what the mainnet dashboards look like (for seed peers and all peers):
Screen Shot 2021-09-29 at 11 58 00
Screen Shot 2021-09-29 at 11 58 28

@teor2345
Copy link
Contributor Author

teor2345 commented Sep 29, 2021

This is what the testnet dashboards look like:
Screen Shot 2021-09-29 at 11 58 14
Screen Shot 2021-09-29 at 11 58 38

@upbqdn
Copy link
Member

upbqdn commented Sep 29, 2021

This is what the mainnet dashboards look like for me for the first four minutes of running Zebra:

image

@upbqdn
Copy link
Member

upbqdn commented Sep 29, 2021

Here are the first few minutes of running on Testnet:
image

@upbqdn
Copy link
Member

upbqdn commented Sep 29, 2021

Adding dev.testnet and dev.mainnet also seems to be a good idea.

@dconnolly dconnolly enabled auto-merge (squash) September 29, 2021 17:22
@dconnolly dconnolly disabled auto-merge September 29, 2021 17:22
@dconnolly dconnolly enabled auto-merge (squash) September 29, 2021 17:22
@dconnolly dconnolly merged commit 20b2e05 into main Sep 29, 2021
@dconnolly dconnolly deleted the net-proto-vers-metrics branch September 29, 2021 18:08
@teor2345 teor2345 added this to the 2021 Sprint 19 milestone Sep 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-network Area: Network protocol updates or fixes A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement NU-5 Network Upgrade: NU5 specific tasks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants