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

Moving height, round,solutions, and transactions to bft for clients #3210

Merged

Conversation

miazn
Copy link
Contributor

@miazn miazn commented Apr 10, 2024

Motivation

Right now, we only track height, round, solutions and transactions in consensus, and not in the node/bft CoreLedgerService, therefore we cannot track what height clients are at. This PR moves those metrics into the CoreLedgerService.

Also removed the numTransmissions metric, as you can just sum the numTransactions and numSolutions in the end analytics service (metrics/prometheus or visualization/Grafana) if needed.

Test Plan

These graphs show where I add 5 clients to the network.
Screenshot 2024-04-10 at 8 22 03 AM

@howardwu
Copy link
Contributor

How does this track syncing vs advancing? I think this now muddies the two up.

@miazn
Copy link
Contributor Author

miazn commented Apr 10, 2024

Before it would not track block height if not participating in consensus, so clients would not show any metrics. Now, if a client is syncing it will show what block height it is synced at for that timestamp-- if the height is below the max height then it's syncing, I believe.

@howardwu
Copy link
Contributor

How does this help Grafana delineate what is syncing vs advancing?

@howardwu
Copy link
Contributor

howardwu commented Apr 10, 2024

Why would a client sync a block below its current max height?

@miazn
Copy link
Contributor Author

miazn commented Apr 10, 2024

Sorry, that was badly worded-- here is a better graph of a devnet w 4 validators that runs for 30 mins, then i add 5 clients to sync up w the network-- the green line is block advancement of the validators, and then the lines that start at 12:00 are the clients joining the network, you can see the rate of advancement as it syncs to the current network block height. Since the CoreLedgerService:advance_to_next_round function is used both in sync and regular consensus advancement, we capture the state of both validators participating in consensus and clients syncing with the network
Screenshot 2024-04-10 at 12 07 12 PM

@howardwu howardwu merged commit 7f22a8e into AleoNet:mainnet-staging Apr 10, 2024
24 checks passed
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.

None yet

2 participants